Ruby Agent Release Notes
4.13.0 - August 31, 2021
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
- 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
- Fix:
AppOpticsAPM::SDK.current_trace.id
to return the currentxtraceId
even whenAppOpticsAPM::Config[:log_traceId]
is set to:never
4.12.0 - June 15, 2020
- 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.1 - February 13, 2020
- 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
- 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.0 - Oct 4, 2019
- 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
- Feature: Add support for triggered traces
- Enhancement: Add configuration for ec2 metadata timeout
4.8.3 - Aug 28, 2019
- 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
- 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.0 - May 14, 2019
- 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
- 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
- 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.0 - Dec 19, 2018
- 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
- 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
- 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
- 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
- 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
- updated to extension 3.1.4 that fixes issues with duplicate hostnames and APPOPTICS_DEBUG_LEVEL
4.2.6 - Sep 24, 2018
- correction to init message to send Ruby.AppOptics.Version instead of Ruby.AppOpticsAPM.Version to the collector
4.2.4 - Sep 4, 2018
- 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
- 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
- ActiveJob w/sidekiq adapter now reports 'wrapped' class, instead of generic JobWrapper class
4.2.1 - May 31, 2018
- 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
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
- 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
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
- 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.1.0 - Apr 13, 2018
- 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
- Fix: Avoid double spans for ActiveRecord operations
- Fix: Correct tracing for ActiveRecord update operation
4.0.5 - Mar 1, 2018
- Add alpine installation
- Fix: Allow naming differences from older versions of restclient, excon, faraday
4.0.4 - Feb 26, 2018
- 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
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.