Migrate the Ruby Library from AppOptics to SolarWinds Observability
Verify the following to ensure the library can collect and transmit data:
The platform where your APM library will be installed is supported.
Your application components are supported by the library.
Your firewall configuration permits TCP/HTTPS/TLS outbound connections to
xx-yyis determined by the URL you use to access SolarWinds Observability, described in Data centers and endpoint URIs) using port
443. See Firewall or access control requirements.
If your firewall or access control requirements do not allow such connections, configure the library to send data through a proxy.
AppOptics users can use the following information to migrate to SolarWinds Observability.
Remove any references to the AppOptics custom instrumentation API in your application code.
Save a list detailing your application's usage so it can be updated for the SolarWinds Observability Ruby Library's instrumentation API.
Uninstall the AppOptics agent from your application by following the instructions in Uninstalling the Agent.
Install the SolarWinds Observability Ruby Library.
Code Profiling is currently not supported.
The AppOptics configuration file should not be reused. Instead, generate a new SolarWinds Observability Ruby Library configuration file. See Configure the Ruby Library.
Update to use the new instrumentation API if needed.
The SolarWinds Observability Ruby Library has been updated to use the W3C Trace Context Headers for distributed trace propagation. This update has required a few changes to the Ruby Library SDK and impacts how to receive and how to propagate trace context to external spans. The following changes are of particular note:
Tracing.start_trace()parameter names have been refactored. If an upstream W3C Trace Context should be continued, it should be passed in the
headersparameter and consist of two identifiers, where one is the traceparent and the other is the tracestate.
TraceContextHeadersmodule can also be used to manually inject the W3C Trace Context into outbound HTTP headers.
CurrentTracemodule has been renamed to
CurrentTraceInfoand now provides a W3C Trace Context for injection into logs as the three attributes