Documentation forAppOptics

Ruby Agent Release Notes

4.13.0 - August 31, 2021

Return to top

New Features

  • Code profiling

Enhancements

  • Improved checksum checking for all external resources included in the gem and downloaded during installation

4.12.2 - March 2, 2021

Return to top

  • Feature: Add http_proxy configuration for oboe grpc
  • Fix: Update PartialRenderer and CollectionRenderer instrumentation to work with Rails 6.1.x
  • Fix: Use prepend to instrument http, to fix alias chain conflict with airbrake
  • Fix: Update S3 URI, use URI.open with newer Ruby versions
  • Fix: Update init report KVs
  • License: Switch license to "Apache License 2.0"

4.12.1 - September 24, 2020

Return to top

  • Fix: AppOpticsAPM::SDK.current_trace.id to return the current xtraceId even when AppOpticsAPM::Config[:log_traceId] is set to :never

4.12.0 - June 15, 2020

Return to top

  • Feature: Add transaction name for rack-cache hits that don't involve a controller to reduce the number of paths reported as a different transactions. This is configurable.
  • Fix: Resolve instrumentation conflict with wicked_pdf gem by ensuring that appoptics_apm is instrumented first

4.11.2 - May 25, 2020

Return to top

  • Fix: better transaction naming for sidekiq

4.11.1 - February 13, 2020

Return to top

  • Fix: rebuild extension so that the gem installs with Ruby 2.7.0
  • Fix: improve auto-instrumentation for graphql so that it works for all graphql versions > 1.7.4
  • Fix: if graphql instrumentation is disabled do not auto-instrument

4.11.0 - January 14, 2020

Return to top

  • Feature: Instrumentation for GraphQL added
  • Fix: Grape instrumentation needed update for change in rack 2.1.0
  • Intern: Add testing with Ruby 2.7.0

4.10.1 - Nov 12, 2019

Return to top

  • Fix: CustomMetrics don't raise exception anymore in noop mode.

4.10.0 - Oct 4, 2019

Return to top

  • Feature: new SDK trace_method method (replaces legacy API profile_method), see docs
  • Feature: Support Azure App Service, see docs
  • Feature: Support PostGis adapter, thanks @aderyabin
  • Enhancement: Support for installation on Debian 10
  • Enhancement: Convert legacy profile_entry/profile_exit spans into entry/exit spans
  • Enhancement: Clean up Sinatra and Padrino span reporting
  • Enhancement: Adapt to changes in faraday gem version 0.16.1

4.9.0 - Sep 11, 2019

Return to top

  • Feature: Add support for triggered traces
  • Enhancement: Add configuration for ec2 metadata timeout

4.8.4 - Sep 10, 2019

Return to top

  • Enhancement: Add Rails6 instrumentation

4.8.3 - Aug 28, 2019

Return to top

  • Fix: Running the agent with Rails 6 does not raise an exception anymore (Rails 6 is not instrumented yet)

4.8.2 - May 23, 2019

Return to top

  • Fix: Make sure to preserve log message, when traceId isn't logged.
  • Fix: The c-library now respects passed in options when processes are forked.

4.8.1 - May 16, 2019

Return to top

  • Fix: Bug fixed in C library used by appoptics_apm

4.8.0 - May 14, 2019

Return to top

  • Feature: Accept new (longer) solarwinds API token in addition to the old one
  • Enhancement: Improve the way we read environment and configuration variables

4.7.0 - Apr 22, 2019

Return to top

  • Feature: Trace ID injection into log message (configurable: always, sampled, traced, never)
  • Feature: Extend SDK with methods to use for customized Trace ID log injection (see: CurrentTrace)
  • Feature: New SDK methods log_info and log_exception that allow adding events to the current span
  • Fix: Adapt to different versions of Alpine that require different ssl libraries
  • Fix: Grpc client does not override transaction name anymore

4.6.0 - Mar 27, 2019

Return to top

  • Feature: Transaction Filtering (see https://docs.appoptics.com/kb/apm_tracing/ruby/configure/)
  • Change: AppOpticsAPM::Config[:tracing_mode], options changed to :enabled and :disabled (deprecate :always and :never)
  • Fix: Adapt to changed behavior in newer versions of the curb gem (>= 0.9.8) and stay backward compatible (thanks @aderyabin for your PR)

4.5.2 - Feb 15, 2019

Return to top

  • Fix: Make sure AppOpticsAPM::API calls don't fail in noop mode

4.5.1 - Feb 5, 2019

Return to top

  • Fix: accept service_key from config file
  • Intern: Add testing with Ruby 2.6.0

4.5.0 - Dec 19, 2018

Return to top

  • Feature: Tracing for grpc-server (unary, client_streaming, server_streaming, and bidi_streaming)
  • Fix: RemoteHost is now reported in ActiveRecord spans
  • Improvement: Better pre-check of the service key

4.4.1 - Dec 11, 2018

Return to top

  • fix: sanitize sql now works correctly when there is a \' in the query
  • fix: make sure backtraces are only collected once per span

4.4.0 - Nov 14, 2018

Return to top

  • Feature: Custom metrics, two methods: increment_metric and summary_metric (see docs)
  • Feature: Disable logging by setting it to -1 in the config file or the environment variable
  • Improve: Change grpc_client span name to 'grpc-client' to be consistent with other language instrumentations

4.3.1 - Nov 5, 2018

Return to top

  • Fix: Faraday edges are now correctly connected when the adapter is instrumented
  • Update the key/values recorded for outbound calls

4.3.0 - Oct 29, 2018

Return to top

  • Feature: tracing for grpc-client (unary, client_streaming, server_streaming, and bidi_streaming)
  • Improvement: updated to extension 3.2.0 with service_name validation (removes invalid characters, spaces become hyphens)

4.2.7 - Sep 24, 2018

Return to top

  • updated to extension 3.1.4 that fixes issues with duplicate hostnames and APPOPTICS_DEBUG_LEVEL

4.2.6 - Sep 24, 2018

Return to top

  • correction to init message to send Ruby.AppOptics.Version instead of Ruby.AppOpticsAPM.Version to the collector

4.2.5 - Sep 11, 2018

Return to top

  • fix bug with backtraces when using Ruby < 2.2

4.2.4 - Sep 4, 2018

Return to top

  • allow variables set through the environment to be set through a config file (see https://docs.appoptics.com/kb/apm_tracing/ruby/configure/)
  • update to the README
  • updates to test and gem versions we test the instrumentation with
  • some refactoring for newer gem versions
  • audit + update error reporting in spans
  • remove support for the cassandra gem (eol)

4.2.3 - Jul 9, 2018

Return to top

  • The AppOpticsAPM::SDK.start_trace method now also reports metrics
  • New SDK methods: appoptics_ready? and tracing?
  • Improvement to log messages, they all start with [appoptics_apm/...] now
  • Update to README and rdoc comments
  • Refactor SDK versus API

4.2.2 - Jun 11, 2018

Return to top

  • ActiveJob w/sidekiq adapter now reports 'wrapped' class, instead of generic JobWrapper class

4.2.1 - May 31, 2018

Return to top

  • Fix: don't include password in redis :auth span
  • Fix: don't try to print rack info if there is no rack
  • Fix: Use extension 3.0.1 with fix when on EC2

4.2.0 - May 24, 2018

Return to top

Custom Transaction Name

  • adds SDK method: AppOpticsAPM::API.set_transaction_name('some_name'), which allows setting the transaction name from within controllers and other code that is part of a trace started by rack.
  • adds configuration option: AppOpticsAPM::Config['transaction_name']['prepend_domain'], if set the domain will be prepended to default and custom transaction names.

4.1.2 - May 9, 2018

Return to top

  • Fix: Don't try to connect to database when determining database type
  • Fix: In ActionControllerApi use action for action part of transaction name

4.0.9 - May 4, 2018

Return to top

patch 4.0.x gem with bug fixes:

  • Fix: Allow installing gem, when behind a proxy
  • Fix: Rescue exception, when regex can't be applied to path to filter out static resources

4.1.1 - May 3, 2018

Return to top

  • Feature: Add option to load configurations from a configuration file
  • Fix: Allow installing gem, when behind a proxy
  • Fix: Rescue exception, when regex can't be applied to path to filter out static resources

4.0.8 - Apr 13, 2018

Return to top

  • Fix memory leak caused by 3rd party library

4.1.0 - Apr 13, 2018

Return to top

  • Fix memory leak caused by 3rd party library
  • End support for Ruby 1.9.3
  • End support for memcached-client gem

4.0.7 - Mar 28, 2018

Return to top

  • Fix: Avoid double spans for ActiveRecord operations
  • Fix: Correct tracing for ActiveRecord update operation

4.0.6 - Mar 26, 2018

Return to top

  • add Heroku installation

4.0.5 - Mar 1, 2018

Return to top

  • Add alpine installation
  • Fix: Allow naming differences from older versions of restclient, excon, faraday

4.0.4 - Feb 26, 2018

Return to top

  • tested with Ruby 2.5.0
  • new extension 2.0.7 avoids segfault related to concurrency
  • Fix: Set defaults for invalid sampling rates and avoid throwing an exception

4.0.3 - Feb 9, 2018

Return to top

Fixes:

  • noop for rack middleware
  • SDK methods don't through exceptions in noop

Background Work:

  • better test coverage for noop mode
  • updated rdoc comments in appoptics_apm/api. Documentation
  • for the methods in this folder can be generated with rdoc.

4.0.2 - Jan 30, 2018

Return to top

Gem:

  • This will be published as OS agnostics gem, that goes into noop on unsupported operating systems

Fixes:

  • make sure custom headers are preserved in RestClient