Upgrade the Ruby Library
The most recent Ruby Library version and release date is . See the Ruby Library release notes for details of the recent changes to the library.
All appoptics_apm
versions and solarwinds_apm
versions before 6 are based on proprietary code. Starting with solarwinds_apm
version 6, the library is built on top of OTel.
The Ruby OTel project actively drops support for EOL and unmaintained versions of the runtime and libraries. In order to upgrade, make sure your application is running on a current version of Ruby.
From AppOptics
Uninstall appoptics_apm
and run the install
command from the installation steps.
From solarwinds_apm
version before 6
Run the install
command from the installation steps.
Note the following key changes from earlier versions.
Configuration
Most options in the configuration file pertaining to instrumenters are no longer supported. Use the standard OTel mechanisms for controlling instrumentation instead. SolarWinds recommends regenerating the configuration file.
The following environment variables are no longer supported:
SW_APM_HOSTNAME_ALIAS
SW_APM_GEM_VERBOSE
Instrumentation SDK
Note that module names have changed and several methods are no longer supported:
-
SolarWindsAPM::SDK.solarwinds_ready?
changed toSolarWindsAPM::API.solarwinds_ready?
-
SolarWindsAPM::SDK.current_trace_info.hash_for_log
changed toSolarWindsAPM::API.current_trace_info.hash_for_log
-
Tracing methods such as
SolarWindsAPM::SDK.trace('span_name')
andSolarWindsAPM::SDK.start_trace('outer_span')
were removed. Instead, use the OTel API or our convenience methodSolarWindsAPM::API.in_span
. (See Convenience method for in_span for details and examples.)
From solarwinds_apm
version before 7
Run the install
command from the installation steps.
Also note the following key changes from earlier versions.
Data Transmission
Exporting to AppOptics is no longer supported. All telemetry is exported via OTLP to SolarWinds Observability.
Configuration
The following configuration options are no longer supported, they should be removed from the application’s environment variable or Ruby Library configuration file:
-
SW_APM_EC2_METADATA_TIMEOUT
and config file keyec2_metadata_timeout
-
SW_APM_HOSTNAME_ALIAS
and config file key:hostname_alias
-
SW_APM_LOG_FILEPATH
-
SW_APM_PROXY
and config file key:http_proxy
-
SW_APM_TRUSTEDPATH
-
SW_APM_ENABLE_AFTER_FORK
-
config file kv
:log_args
Instrumentation SDK
The following vendor-specific methods are deprecated, standard OTel API should be used instead.
-
SolarWindsAPM::API.increment_metric
-
SolarWindsAPM::API.summary_metric