Skip to main content
Splunk Agent Observability supports logging traces from Pydantic AI applications using OpenTelemetry.

Set up OpenTelemetry

To log Pydantic AI applications using Splunk Agent Observability, the first step is to set up OpenTelemetry.
1

Install the required packages

Add the Splunk Agent Observability Python SDK and Pydantic AI to your Python environment.
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:
3

Get your endpoint

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.
4

Configure the OpenTelemetry tracer provider

Use the following code to configure OpenTelemetry with Splunk Agent Observability. This sets up the tracer provider and enables instrumentation for all Pydantic AI agents.
Python

What gets logged

Pydantic AI spans are automatically detected and normalized by Splunk Agent Observability’s OpenTelemetry extension. The following span types are supported:
  • Agent runs: Complete agent executions with input/output messages
  • Chat completions: LLM calls with messages and responses
  • Tool executions: Individual tool invocations with arguments and results
  • Tool workflows: Parent spans that group multiple tool executions
For a complete working example, see the Splunk Agent Observability SDK examples repository.