Skip to content

Add Splunk Observability Cloud integration - #25

Open
leonardwall wants to merge 2 commits into
rungalileo:mainfrom
leonardwall:feature/splunk-otel-integration
Open

Add Splunk Observability Cloud integration#25
leonardwall wants to merge 2 commits into
rungalileo:mainfrom
leonardwall:feature/splunk-otel-integration

Conversation

@leonardwall

Copy link
Copy Markdown

Summary

This PR adds support for forwarding Galileo demo agent traces to Splunk Observability Cloud via the OpenTelemetry Collector.

  • Extends the existing SwitchableSpanProcessor in tracing_setup.py to support Splunk as a third OTLP destination alongside Phoenix and Arize
  • Adds a "Send traces to Splunk APM" toggle in the app sidebar — zero config change required to try it
  • Adds examples/splunk-otel/collector-config.yaml as a reference collector config (credentials via env vars, no hardcoded secrets)
  • Documents the integration in the README with a link to the free edition of Splunk Observability Cloud

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

  • Start the app and select the bank or healthcare domain
  • Run the Splunk OTel Collector using examples/splunk-otel/collector-config.yaml
  • Add splunk_otel_endpoint = "http://localhost:4318/v1/traces" to .streamlit/secrets.toml
  • Toggle "Send traces to Splunk APM" in the sidebar
  • Send chat messages and verify traces appear in Splunk APM under the service name matching your Galileo project

Changes

File Change
tracing_setup.py Add _create_splunk_processor(), extend SwitchableSpanProcessor and switch_otlp_platform() for Splunk; fix _splunk_available global scoping; add _on_ending compatibility shim
app.py Add Splunk Observability sidebar section with toggle
setup_env.py Expose SPLUNK_OTEL_ENDPOINT from secrets.toml
examples/splunk-otel/collector-config.yaml Reference OTel Collector config
README.md Document integration, free trial link, and roadmap context

🤖 Generated with Claude Code

leonardwall and others added 2 commits June 29, 2026 13:56
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>
@galileo-automation

Copy link
Copy Markdown

No activity for 30 days — this PR will be closed in 5 days unless updated.

1 similar comment
@galileo-automation

Copy link
Copy Markdown

No activity for 30 days — this PR will be closed in 5 days unless updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants