Add Splunk Observability Cloud integration - #25
Open
leonardwall wants to merge 2 commits into
Open
Conversation
Wires the existing OpenTelemetry SwitchableSpanProcessor to support Splunk as a tracing destination alongside Phoenix and Arize. Spans are forwarded via a local Splunk OTel Collector to Splunk APM. - tracing_setup.py: add _create_splunk_processor(), extend SwitchableSpanProcessor and switch_otlp_platform() for "splunk" - setup_env.py: expose SPLUNK_OTEL_ENDPOINT from secrets.toml - app.py: add "📡 Splunk Observability" toggle in sidebar - splunk-otel-config.yaml: reference collector config for local setup Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds an early preview of the Splunk Agent Observability direction: agent traces from the Galileo demo can now flow to Splunk APM via a local OTel Collector alongside infrastructure and app telemetry. Changes: - tracing_setup.py: add Splunk as a switchable OTLP platform; fix _splunk_available global scoping; remove redundant hasattr guard; add _on_ending compatibility shim for openinference instrumentation - app.py: add "Send traces to Splunk APM" toggle in sidebar - setup_env.py: expose SPLUNK_OTEL_ENDPOINT from secrets.toml - examples/splunk-otel/collector-config.yaml: reference collector config using env var placeholders (no hardcoded credentials) - README.md: document Splunk integration with free trial link and roadmap context for Splunk Agent Observability Free access: https://www.splunk.com/en_us/download/observability-cloud-free-edition.html Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
No activity for 30 days — this PR will be closed in 5 days unless updated. |
1 similar comment
|
No activity for 30 days — this PR will be closed in 5 days unless updated. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds support for forwarding Galileo demo agent traces to Splunk Observability Cloud via the OpenTelemetry Collector.
SwitchableSpanProcessorintracing_setup.pyto support Splunk as a third OTLP destination alongside Phoenix and Arizeexamples/splunk-otel/collector-config.yamlas a reference collector config (credentials via env vars, no hardcoded secrets)Why
This integration lets demo audiences see Galileo agent traces alongside their infrastructure and application telemetry today within Splunk Observability Cloud, and experience what convergence could look like.
Free access (no credit card required): https://www.splunk.com/en_us/download/observability-cloud-free-edition.html
Test plan
examples/splunk-otel/collector-config.yamlsplunk_otel_endpoint = "http://localhost:4318/v1/traces"to.streamlit/secrets.tomlChanges
tracing_setup.py_create_splunk_processor(), extendSwitchableSpanProcessorandswitch_otlp_platform()for Splunk; fix_splunk_availableglobal scoping; add_on_endingcompatibility shimapp.pysetup_env.pySPLUNK_OTEL_ENDPOINTfromsecrets.tomlexamples/splunk-otel/collector-config.yamlREADME.md🤖 Generated with Claude Code