> ## Documentation Index
> Fetch the complete documentation index at: https://agent-observability-docs.splunk.com/llms.txt
> Use this file to discover all available pages before exploring further.

# config

## Module

Shared OTLP exporter configuration and routing.

## ExporterConfig

Resolved public configuration for an OTLP HTTP exporter.

## RoutingAttrs

Optional project, agent-stream, and experiment routing values.

## build\_exporter

```python theme={null}
def build_exporter(endpoint: str,
                   auth_header: tuple[str, str],
                   routing: RoutingAttrs,
                   deployment: DeploymentMode,
                   _exporter_factory: ExporterFactory=OTLPSpanExporter,
                   **exporter_kwargs: Any) -> SpanExporter
```

Build an OTLP HTTP exporter from shared resolved configuration.

## create\_otel\_resource

```python theme={null}
def create_otel_resource(routing: RoutingAttrs) -> Resource
```

Create a Resource with standard OTel detection and Splunk AO routing.

## resolve\_exporter\_config

```python theme={null}
def resolve_exporter_config(endpoint: str,
                            auth_header: tuple[str, str],
                            routing: RoutingAttrs) -> ExporterConfig
```

Resolve endpoint, authentication, and routing request headers.

## resolve\_routing

```python theme={null}
def resolve_routing(deployment: DeploymentMode,
                    *,
                    project: str | None=None,
                    project_id: str | None=None,
                    agent_stream: str | None=None,
                    agent_stream_id: str | None=None,
                    experiment_id: str | None=None,
                    context_project: str | None=None,
                    context_project_id: str | None=None,
                    context_agent_stream: str | None=None,
                    context_agent_stream_id: str | None=None,
                    context_experiment_id: str | None=None) -> RoutingAttrs
```

Capture routing once using explicit, context, environment, then default precedence.

## routing\_resource\_attributes

```python theme={null}
def routing_resource_attributes(routing: RoutingAttrs) -> dict[str, str]
```

Build Resource attributes matching the routing request headers.
