Splunk Distribution of OpenTelemetry Python
The Splunk Distribution of OpenTelemetry Python extends OpenTelemetry Python to automatically instrument Python applications and export traces, metrics, and logs to Splunk Observability Cloud. It patches supported libraries at runtime with OpenTelemetry-compatible instrumentation and provides Splunk-specific configuration defaults.
This distribution comes with the following defaults:
- OTLP gRPC exporters
configured to send traces, metrics, and logs to a locally running
Splunk OpenTelemetry Collector
(
http://localhost:4317). - Unlimited default limits for configuration options to support full-fidelity traces.
- System metrics instrumentation.
- Python logging instrumentation.
Requirements
The Splunk Distribution of OpenTelemetry Python requires Python 3.10 or later. Supported libraries are listed here.
Get started
For complete instructions on how to get started with the Splunk Distribution of OpenTelemetry Python, see Instrument a Python application for Splunk Observability Cloud in the official documentation.
For the standard OpenTelemetry setup, install the Splunk Distribution of OpenTelemetry Python in your application environment. The distribution configures OTLP exporters for traces, metrics, and logs, includes system metrics instrumentation, and enables Python logging instrumentation.
pip install splunk-opentelemetry
Install instrumentation packages for the libraries your application uses:
opentelemetry-bootstrap -a install
Then run your application with opentelemetry-instrument:
OTEL_SERVICE_NAME=my-python-service opentelemetry-instrument python app.py
By default, OTLP exporters send telemetry to a locally running
Splunk OpenTelemetry Collector
at http://localhost:4317. To send telemetry directly to Splunk Observability
Cloud instead, set SPLUNK_REALM and SPLUNK_ACCESS_TOKEN before starting your
application. SPLUNK_REALM configures direct ingest endpoints for traces and
metrics.
Declarative configuration
The distribution includes experimental support for the OpenTelemetry declarative
configuration file format. Set OTEL_CONFIG_FILE to the path of the YAML
configuration file when you start the instrumented application:
OTEL_CONFIG_FILE=/path/to/config.yaml opentelemetry-instrument python app.py
See the basic declarative configuration example,
which exports traces, metrics, and logs to a local Collector at http://localhost:4317.
This support configures upstream OpenTelemetry SDK components. The GDI
distribution.splunk configuration block is not supported yet. Configure
exporters, including their endpoints and authentication headers, in the YAML file.
OpAMP does not report the declarative file as effective configuration and cannot
manage it remotely yet.
Profiling
The Splunk Distribution of OpenTelemetry Python supports continuous profiling and call graph profiling. Both modes export profiling data through OpenTelemetry logs for correlation with traces in Splunk APM. See Profiling for configuration and limitations.
Optional: Cisco SecureApp
To also install the Cisco SecureApp
OpenTelemetry extension, specify the secureapp extra:
pip install "splunk-opentelemetry[secureapp]"
This extra installs the SecureApp Python agent, which reports runtime Python package dependencies through OpenTelemetry logs.
SecureApp dependency logs use the secureapp instrumentation scope. Collector
deployments must route those logs to the SecureApp event ingest endpoint
(/v3/event) and add the SecureApp instrumentation header on the outbound
exporter. See docs/secureapp.md for setup details and
docs/examples/secureapp-collector-config.yaml
for a collector example.
Fleet management with OpAMP
The Splunk Distribution of OpenTelemetry Python provides OpAMP support. When enabled, the OpAMP client connects to the configured endpoint and reports the Python agent's status and settings. Agents connected to Splunk Observability Cloud appear on the Fleet Management page.
Set SPLUNK_OPAMP_ENABLED=true to enable OpAMP. The default OpAMP endpoint is a local Splunk OpenTelemetry Collector.
See OpAMP for setup, configuration, and limits.
License
The Splunk Distribution of OpenTelemetry Python is a distribution of OpenTelemetry Python. It is licensed under the terms of the Apache Software License version 2.0. See the license file for more details.
Metadata
Release files for splunk-opentelemetry 2.13.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| splunk_opentelemetry-2.13.0.tar.gz | 66.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| splunk_opentelemetry-2.13.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 93.7 kB
Release files / splunk_opentelemetry-2.13.0.tar.gz
| Download URL | splunk_opentelemetry-2.13.0.tar.gz |
|---|---|
| Size | 66.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f2a506221704cc2cec30fda006bc5c693617f723745aa664fd8602a8fcb8a973
|
|
BLAKE2b-256 checksum How to use checksums |
3ed9ee4bbebcf30ce1872e714a327f1dc7b779e35d999e903ba77037ce90491c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.18.1 {"ci":true,"cpu":"x86_64","distro":{"id":"trixie","libc":{"lib":"glibc","version":"2.41"},"name":"Debian GNU/Linux","version":"13"},"implementation":{"name":"CPython","version":"3.11.17"},"installer":{"name":"hatch","version":"1.18.1"},"openssl_version":"OpenSSL 3.5.7 9 Jun 2026","python":"3.11.17","system":{"name":"Linux","release":"6.8.0-1063-aws"}} HTTPX2/2.13.1
|
Release files / splunk_opentelemetry-2.13.0-py3-none-any.whl
| Download URL | splunk_opentelemetry-2.13.0-py3-none-any.whl |
|---|---|
| Size | 26.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c94f0e79f6dc4b896a29742f46fb22c1e2cd0b5fd9627fd0a411ee847557c754
|
|
BLAKE2b-256 checksum How to use checksums |
89c817f3b5a549cbaed7cb4ce0091a7514db6a5def6e5a886f11910407fb765a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.18.1 {"ci":true,"cpu":"x86_64","distro":{"id":"trixie","libc":{"lib":"glibc","version":"2.41"},"name":"Debian GNU/Linux","version":"13"},"implementation":{"name":"CPython","version":"3.11.17"},"installer":{"name":"hatch","version":"1.18.1"},"openssl_version":"OpenSSL 3.5.7 9 Jun 2026","python":"3.11.17","system":{"name":"Linux","release":"6.8.0-1063-aws"}} HTTPX2/2.13.1
|