|
| 1 | +# Migrate from the SignalFx Java Agent |
| 2 | + |
| 3 | +The Splunk Distribution of OpenTelemetry Java Instrumentation replaces the |
| 4 | +[SignalFx Java Agent](https://github.com/signalfx/signalfx-java-tracing). |
| 5 | +If you're using the SignalFx Java Agent, migrate to the Splunk Distribution of |
| 6 | +OpenTelemetry Java Instrumentation to use OpenTelemetry's instrumentation to |
| 7 | +send traces to Splunk APM. The Splunk Distribution of OpenTelemetry Java |
| 8 | +Instrumentation uses OpenTelemetry to instrument applications, which is an |
| 9 | +open-source API to gather telemetry data, and has a smaller footprint. |
| 10 | + |
| 11 | +Because the SignalFx Java Agent uses OpenTracing and the Splunk Distribution |
| 12 | +of OpenTelemetry Java Instrumentation uses OpenTelemetry, the semantic |
| 13 | +conventions for span tag names change when you migrate. For more information, |
| 14 | +see [Migrate from OpenTracing to OpenTelemetry](https://docs.signalfx.com/en/latest/apm/apm-getting-started/apm-opentelemetry-collector.html#apm-opentelemetry-migration). |
| 15 | + |
| 16 | +The SignalFx Java Agent and the Splunk Distribution of OpenTelemetry Java |
| 17 | +Instrumentation could export trace data in different formats. This would |
| 18 | +result in your application sending different or incomplete data to SignalFx. |
| 19 | +To address this, you could run a pilot test to compare the trace data you |
| 20 | +receive with the Splunk Distribution of OpenTelemetry Java Instrumentation |
| 21 | +against the data you used to receive from the SignalFx Java Agent. |
| 22 | + |
| 23 | +## Steps |
| 24 | + |
| 25 | +Follow these steps to migrate from the SignalFx Java Agent to the Splunk |
| 26 | +distribution of Splunk Distribution of OpenTelemetry Java Instrumentation: |
| 27 | + |
| 28 | +1. Download the [latest release](https://github.com/signalfx/splunk-otel-java/releases) |
| 29 | + of the Splunk Distribution of OpenTelemetry Java Instrumentation. |
| 30 | +2. Set the service name. This is how you can identify the service in APM. |
| 31 | + You can set the service name with a system property or environment |
| 32 | + variable. This is how you can set it with an environment variable with a |
| 33 | + service name of `yourServiceName`: |
| 34 | + ``` |
| 35 | + $ EXPORT OTEL_EXPORTER_ZIPKIN_SERVICE_NAME="yourServiceName" |
| 36 | + ``` |
| 37 | +3. Specify the endpoint of the SignalFx Smart Agent or OpenTelemetry Collector |
| 38 | + you're exporting traces to. You can set the endpoint with a system property |
| 39 | + or environment variable. This is how you can set it with an environment |
| 40 | + variable with an endpoint of `http://yourEndpoint:9080/v1/trace`: |
| 41 | + ``` |
| 42 | + $ EXPORT OTEL_EXPORTER_ZIPKIN_ENDPOINT="http://yourEndpoint:9080/v1/trace" |
| 43 | + ``` |
| 44 | + The default value is `http://localhost:9080/v1/trace`. If you're exporting |
| 45 | + traces to a local Smart Agent, you don't have to modify this configuration |
| 46 | + setting. |
| 47 | +4. In your application startup script, replace `-javaagent:./signalfx-tracing.jar` |
| 48 | + with `-javaagent:/path/to/splunk-otel-javaagent-all.jar`. |
0 commit comments