Skip to main content
Splunk Agent Observability supports logging traces from Google ADK applications using OpenTelemetry and OpenInference.
For a simpler integration with automatic tracing, consider using the native Splunk Agent Observability-adk package instead.

Set up OpenTelemetry

To log Google ADK agents using OpenInference, the first step is to set up OpenTelemetry.
1

Installation

Add the OpenTelemetry packages to your project:
The opentelemetry-api and opentelemetry-sdk packages provide the core OpenTelemetry functionality. The opentelemetry-exporter-otlp package enables sending traces to Splunk Agent Observability’s OTLP endpoint.
2

Create environment variables for your Splunk Agent Observability settings

Set environment variables for your Splunk Agent Observability settings, for example in a .env file. These environment variables are consumed by the SplunkAOSpanProcessorto authenticate and route traces to the correct Splunk Agent Observability Project and Agent Stream:
3

Self hosted deployments: Set the OTel endpoint

Skip this step if you are using a hosted version.
The OTel endpoint is different from Splunk Agent Observability’s regular API endpoint and is specifically designed to receive telemetry data in the OTLP format.If you are using:
  • A cloud deployment, then you don’t need to provide a custom OTel endpoint. The default endpoint <your-splunk-ao-api-url>/otel/traces will be used automatically.
  • A self-hosted deployment, replace the <your-splunk-ao-api-url>/otel/traces endpoint with your deployment URL. The format of this URL is based on your console URL, appending /otel/traces.
The convention is to store this in the SPLUNK_AO_CONSOLE_URL environment variable. For example:
4

Initialize and create the Splunk Agent Observability span processor

The SplunkAOSpanProcessor automatically configures authentication and metadata using your environment variables. It also:
  • Auto-builds OTLP headers using your Splunk Agent Observability credentials
  • Configures the correct OTLP trace endpoint
  • Registers a batch span processor that exports traces to Splunk Agent Observability
5

Register the span processor

The span processor can now be registered with an OTel trace provider.

Log a Google ADK agent using OpenInference

Once OpenTelemetry is configured, you can use OpenInference to log traces.
1

Install the Google ADK OpenInference support

To support OpenInference with the Google ADK, you need to install the OpenInference instrumentor.
2

Configure the instrumentor

You can now create a GoogleADKInstrumentor instance and instrument it with the trace provider you created earlier.
When you run your Google ADK code, traces will be logged to Splunk Agent Observability.

Full example

Here is a full example based off the Google ADK quickstart. You can find this project in the Splunk Agent Observability SDK examples repo. To run this example, create a .env file with the following values set, or set them as environment variables:
.env
Remember to update these to match your Splunk Agent Observability API key, Google API key, Splunk Agent Observability OTel endpoint, project name, and Agent Stream name.