Migrate from the SignalFx Tracing Library for Python
The agent of the Splunk Distribution of OpenTelemetry Python replaces the deprecated SignalFx Python Tracing Library. To migrate to the Splunk Python OTel agent, follow these instructions.
The SignalFx Tracing Library for Python is deprecated and will reach End of Support on December 17th, 2022. Replace it with the agent from the Splunk Distribution of OpenTelemetry Python.
The agent of the Splunk Distribution of OpenTelemetry Python is based on the OpenTelemetry Instrumentation for Python, an open-source project that uses the OpenTelemetry API.
Read the following instructions to learn how to migrate to the Splunk Python OTel agent.
Compatibility and requirements
The Splunk Distribution of OpenTelemetry Python requires Python 3.7 and higher. See Python agent compatibility and requirements.
Migrate to the Splunk Distribution of OpenTelemetry Python
To migrate from the SignalFx Tracing Library for Python to the Splunk Distribution of OpenTelemetry Python, follow these steps:
-
Remove the tracing library packages. See Remove the SignalFx Tracing Library for Python.
-
Deploy the Splunk Distribution of OpenTelemetry Python. See Deploy the Splunk Python agent.
-
Migrate your existing configuration. See Migrate settings for the Splunk Python OTel agent.
-
Start your Python service or application. See Start you Python application after completing the migration.
Remove the SignalFx Tracing Library for Python
Follow these steps to remove the tracing library and its dependencies:
-
Uninstall
signalfx-tracing
:pip uninstall signalfx-tracing
-
Remove
signalfx-tracing
from your requirements.txt or pyproject.toml file. -
If the package manager didn’t remove every dependency for
signalfx-tracing
, remove them manually:pip uninstall opentracing pip uninstall jaeger-client
-
Remove every instrumentation package installed by the
sfx-py-trace-bootstrap
command. -
Remove any additional OpenTracing instrumentation packages you installed.
Additional steps for Django applications
The Splunk Distribution of OpenTelemetry Python doesn’t require you to add anything to INSTALLED_APPS
.
Follow these steps to update your Django configuration:
-
Remove
signalfx_tracing
fromINSTALLED_APPS
in settings.py. -
Set the
DJANGO_SETTINGS_MODULE
environment variable to the same value as in manage.py or wsgi.py.
Deploy the Splunk Python agent
To install the Splunk Distribution of OpenTelemetry Python, see Instrument your Python application for Splunk Observability Cloud.
Migrate settings for the Splunk Python OTel agent
To migrate settings from the SignalFx tracing library to the Splunk Distribution of OpenTelemetry Python, rename the following environment variables:
SignalFx environment variable |
OpenTelemetry environment variable |
---|---|
|
|
|
|
|
|
|
|
For more information about Splunk Python OTel settings, see Configure the Python agent for Splunk Observability Cloud.
Start you Python application after completing the migration
Run your python application or service using splunk-py-trace
. For example, if you run your service using python main.py
, you can automatically instrument by running it with splunk-py-trace python main.py
. For more information, see Instrument your Python application for Splunk Observability Cloud.
Log injection changes
To inject tracing metadata into log statements, see Connect Python trace data with logs for Splunk Observability Cloud.