Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .chloggen/splunk-otel-python.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: enhancement
# The name of the component, or a single word describing the area of concern, (e.g. agent, clusterReceiver, gateway, operator, chart, other)
component: operator
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Use quay.io/signalfx/splunk-otel-instrumentation-python image for auto-instrumentation of Python applications with the operator.
# One or more tracking issues related to the change
issues: [1965]
# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext: |
- To customize the image for Python auto-instrumentation, set the configuration option `instrumentation.python.image`.
4 changes: 2 additions & 2 deletions docs/auto-instrumentation-install.md
Original file line number Diff line number Diff line change
Expand Up @@ -447,11 +447,11 @@ provides best effort support with issues related to native OpenTelemetry instrum
| java | Splunk | Available | Yes | Completely | [Link](github.com/signalfx/splunk-otel-java) | ghcr.io/signalfx/splunk-otel-java/splunk-otel-java |
| dotnet | Splunk | Coming Soon | | | [Link](github.com/signalfx/splunk-otel-dotnet) | ghcr.io/signalfx/splunk-otel-dotnet/splunk-otel-dotnet |
| nodejs | Splunk | Available | Yes | Completely | [Link](github.com/signalfx/splunk-otel-nodejs) | ghcr.io/signalfx/splunk-otel-js/splunk-otel-js |
| python | Splunk | Coming Soon | | | [Link](github.com/signalfx/splunk-otel-python) | |
| python | Splunk | Available | Yes | Completely | [Link](github.com/signalfx/splunk-otel-python) | quay.io/signalfx/splunk-otel-instrumentation-python |
| java | OpenTelemetry | Available | Yes | Mostly | [Link](https://github.com/open-telemetry/opentelemetry-java-instrumentation) | ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java |
| dotnet | OpenTelemetry | Available | Yes | Mostly | [Link](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation) | ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-dotnet |
| nodejs | OpenTelemetry | Available | Yes | Mostly | [Link](https://github.com/open-telemetry/opentelemetry-nodejs-instrumentation) | ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodes |
| python | OpenTelemetry | Available | Needs Validation | | [Link](https://github.com/open-telemetry/opentelemetry-java-instrumentation) | ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java |
| python | OpenTelemetry | Available | Needs Validation | | [Link](https://github.com/open-telemetry/opentelemetry-python-instrumentation) | ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python |
| apache-httpd | OpenTelemetry | Available | Needs Validation | | [Link](https://github.com/open-telemetry/opentelemetry-apache-httpd-instrumentation) | ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-apache-httpd |
| nginx | OpenTelemetry | Available | Needs Validation | | [Link](https://github.com/open-telemetry/opentelemetry-apache-httpd-instrumentation) | ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-apache-httpd |

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,10 @@ spec:
image: ghcr.io/signalfx/splunk-otel-js/splunk-otel-js:v3.3.0
python:
env:
- name: OTEL_EXPERIMENTAL_RESOURCE_DETECTORS
value: ""
- name: OTEL_RESOURCE_ATTRIBUTES
value: splunk.zc.method=autoinstrumentation-python:0.54b1
value: splunk.zc.method=splunk-otel-instrumentation-python:v2.7.0
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://default-splunk-otel-collector-agent.default.svc.cluster.local:4318
image: ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.54b1
image: quay.io/signalfx/splunk-otel-instrumentation-python:v2.7.0
11 changes: 6 additions & 5 deletions functional_tests/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,19 @@ Run the following commands prior to running the test locally:
```
export KUBECONFIG=/tmp/kube-config-splunk-otel-collector-chart-functional-testing
export KUBE_TEST_ENV=kind
export K8S_VERSION=v1.29.0
export K8S_VERSION=v1.33.2
kind create cluster --kubeconfig=/tmp/kube-config-splunk-otel-collector-chart-functional-testing --config=.github/workflows/configs/kind-config.yaml --image=kindest/node:$K8S_VERSION
kubectl get csr -o=jsonpath='{range.items[?(@.spec.signerName=="kubernetes.io/kubelet-serving")]}{.metadata.name}{" "}{end}' | xargs kubectl certificate approve
make dep-update
kind load docker-image quay.io/splunko11ytest/nodejs_test:latest --name kind
kind load docker-image quay.io/splunko11ytest/java_test:latest --name kind
kind load docker-image quay.io/splunko11ytest/dotnet_test:latest --name kind
kind load docker-image quay.io/splunko11ytest/python_test:latest --name kind
# On Mac M1s, you can also push this image so kind doesn't get confused with the platform to use:
kind load docker-image ghcr.io/signalfx/splunk-otel-dotnet/splunk-otel-dotnet:v1.8.0 --name kind
kind load docker-image ghcr.io/signalfx/splunk-otel-js/splunk-otel-js:v3.1.2 --name kind
kind load docker-image ghcr.io/signalfx/splunk-otel-java/splunk-otel-java:v1.30.0 --name kind
kind load docker-image ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.50b0 --name kind
kind load docker-image ghcr.io/signalfx/splunk-otel-dotnet/splunk-otel-dotnet:v1.11.0 --name kind
kind load docker-image ghcr.io/signalfx/splunk-otel-js/splunk-otel-js:v3.3.0 --name kind
kind load docker-image ghcr.io/signalfx/splunk-otel-java/splunk-otel-java:v2.18.0 --name kind
kind load docker-image quay.io/signalfx/splunk-otel-instrumentation-python:v2.7.0 --name kind
```

## Config switches
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ resourceSpans:
stringValue: opentelemetry
- key: telemetry.sdk.version
value:
stringValue: 1.33.1
stringValue: 1.36.0
- key: splunk.zc.method
value:
stringValue: autoinstrumentation-python:0.54b1
stringValue: splunk-otel-instrumentation-python:v2.7.0
- key: k8s.container.name
value:
stringValue: python-test
Expand All @@ -27,31 +27,37 @@ resourceSpans:
stringValue: kind-control-plane
- key: k8s.pod.name
value:
stringValue: python-test-68df75b848-487j8
stringValue: python-test-7b649494c8-jvbsr
- key: k8s.replicaset.name
value:
stringValue: python-test-68df75b848
stringValue: python-test-7b649494c8
- key: service.instance.id
value:
stringValue: default.python-test-68df75b848-487j8.python-test
stringValue: default.python-test-7b649494c8-jvbsr.python-test
- key: service.namespace
value:
stringValue: default
- key: service.version
value:
stringValue: latest
- key: telemetry.distro.name
value:
stringValue: splunk-opentelemetry
- key: telemetry.distro.version
value:
stringValue: 2.7.0
- key: service.name
value:
stringValue: python-test
- key: telemetry.auto.version
value:
stringValue: 0.54b1
stringValue: 0.57b0
- key: k8s.pod.ip
value:
stringValue: 10.244.0.12
stringValue: 10.244.0.15
- key: k8s.pod.uid
value:
stringValue: 454afbf5-b8f1-4bc9-a2a5-e191927e9bcd
stringValue: 962b3a7e-8138-4928-92cd-568a7369c763
- key: k8s.pod.labels.app
value:
stringValue: python-test
Expand All @@ -63,7 +69,7 @@ resourceSpans:
stringValue: latest
- key: container.id
value:
stringValue: 592075a79e4399d54931b32d858fffd6389137ea582e014165a1198249f35584
stringValue: 6fc6b3cb6070be459c39c363fd77a159cf523efb35b7a11323c6df107a8a2857
- key: host.name
value:
stringValue: kind-control-plane
Expand Down Expand Up @@ -118,7 +124,7 @@ resourceSpans:
stringValue: 127.0.0.1
- key: net.peer.port
value:
intValue: "51628"
intValue: "42214"
- key: http.user_agent
value:
stringValue: curl/8.11.1
Expand All @@ -131,15 +137,14 @@ resourceSpans:
- key: http.status_code
value:
intValue: "200"
endTimeUnixNano: "1752511848542835502"
endTimeUnixNano: "1757980322140909459"
flags: 256
kind: 2
name: GET /
parentSpanId: ""
spanId: 890189b3532bbc4d
startTimeUnixNano: "1752511848542267562"
spanId: e67f0a593fceb942
startTimeUnixNano: "1757980322139768959"
status: {}
traceId: ddb5bc5ef8e96c6647193763f6fb7162
traceId: bc20afd3b43c1d752ca1553d685eea77
- attributes:
- key: http.method
value:
Expand Down Expand Up @@ -167,7 +172,7 @@ resourceSpans:
stringValue: 127.0.0.1
- key: net.peer.port
value:
intValue: "51632"
intValue: "42230"
- key: http.user_agent
value:
stringValue: curl/8.11.1
Expand All @@ -180,15 +185,14 @@ resourceSpans:
- key: http.status_code
value:
intValue: "200"
endTimeUnixNano: "1752511849544449800"
endTimeUnixNano: "1757980323141819543"
flags: 256
kind: 2
name: GET /
parentSpanId: ""
spanId: 8e221ca3ed9436ec
startTimeUnixNano: "1752511849543758860"
spanId: d3ffde602abe2553
startTimeUnixNano: "1757980323141274543"
status: {}
traceId: b5560eb3d564a0eff5eb3b9ab242de24
traceId: 4bf722b746efb2809c08a937d2f154e0
- attributes:
- key: http.method
value:
Expand Down Expand Up @@ -216,7 +220,7 @@ resourceSpans:
stringValue: 127.0.0.1
- key: net.peer.port
value:
intValue: "51648"
intValue: "42234"
- key: http.user_agent
value:
stringValue: curl/8.11.1
Expand All @@ -229,15 +233,14 @@ resourceSpans:
- key: http.status_code
value:
intValue: "200"
endTimeUnixNano: "1752511850545363608"
endTimeUnixNano: "1757980324146844502"
flags: 256
kind: 2
name: GET /
parentSpanId: ""
spanId: 0affd31c40064e50
startTimeUnixNano: "1752511850544756385"
spanId: 0bc2c0a406cc9069
startTimeUnixNano: "1757980324145793210"
status: {}
traceId: 5283439627a5dd4b6152a578aede7ba1
traceId: 54b69d6dba73b9c7a40f4a8a5b21f147
- attributes:
- key: http.method
value:
Expand Down Expand Up @@ -265,7 +268,7 @@ resourceSpans:
stringValue: 127.0.0.1
- key: net.peer.port
value:
intValue: "51656"
intValue: "42246"
- key: http.user_agent
value:
stringValue: curl/8.11.1
Expand All @@ -278,15 +281,14 @@ resourceSpans:
- key: http.status_code
value:
intValue: "200"
endTimeUnixNano: "1752511851546191010"
endTimeUnixNano: "1757980325151610377"
flags: 256
kind: 2
name: GET /
parentSpanId: ""
spanId: 5f97e4fe41460d1c
startTimeUnixNano: "1752511851545604095"
spanId: 42f2164eef8a5ce6
startTimeUnixNano: "1757980325150843502"
status: {}
traceId: e0b4111d150c880d3f1c77279d9054af
traceId: 6adb27eaba34adcfc28f05506f337767
- attributes:
- key: http.method
value:
Expand Down Expand Up @@ -314,7 +316,7 @@ resourceSpans:
stringValue: 127.0.0.1
- key: net.peer.port
value:
intValue: "51660"
intValue: "42254"
- key: http.user_agent
value:
stringValue: curl/8.11.1
Expand All @@ -327,12 +329,11 @@ resourceSpans:
- key: http.status_code
value:
intValue: "200"
endTimeUnixNano: "1752511852547236754"
endTimeUnixNano: "1757980326159328419"
flags: 256
kind: 2
name: GET /
parentSpanId: ""
spanId: f8f8482a02914e7d
startTimeUnixNano: "1752511852546621957"
spanId: 09ec0a6f152fc0e5
startTimeUnixNano: "1757980326158140128"
status: {}
traceId: 2cc9fcb5842a8ff2279140bf7a916282
traceId: 72d68b2e4e9fb9f0554967e4154b62db
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ spec:
containers:
- image: quay.io/splunko11ytest/python_test:latest
name: python-test
imagePullPolicy: IfNotPresent
imagePullPolicy: Always
nodeSelector:
kubernetes.io/os: "linux"
1 change: 0 additions & 1 deletion functional_tests/functional/testdata/python/start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
python3 web.py &
pypid=$!


loop=0

function stop()
Expand Down
9 changes: 5 additions & 4 deletions helm-charts/splunk-otel-collector/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1350,10 +1350,11 @@ instrumentation:
# - name: NODEJS_ENV_VAR
# value: nodejs_value
python:
image: ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.54b1
# env:
# - name: PYTHON_ENV_VAR
# value: python_value
image: quay.io/signalfx/splunk-otel-instrumentation-python:v2.7.0
env:
- name: OTEL_EXPERIMENTAL_RESOURCE_DETECTORS
value: ""
Copy link
Collaborator Author

@jinja2 jinja2 Sep 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By default, host and process detectors are enabled. This seems to have disabled them.


# Auto-instrumentation Libraries (End)

# Note - Installing certmanager as a subchart is deprecated and will be removed in the future.
Expand Down
Loading