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

# span_transform

## Module

Immutable OTLP span normalization before serialization.

## NormalizingSpanExporter

Apply canonical attributes and routing once before delegating export.

### delegate

```python theme={null}
def delegate(self) -> SpanExporter
```

Return the wrapped exporter for SDK composition and diagnostics.

### export

```python theme={null}
def export(self, spans: Sequence[ReadableSpan]) -> SpanExportResult
```

Export normalized immutable copies of the supplied spans.

### export\_health

```python theme={null}
def export_health(self) -> ExportHealth
```

Return the delegate's receiver-acknowledgement health snapshot.

### force\_flush

```python theme={null}
def force_flush(self, timeout_millis: int=30000) -> bool
```

Delegate flushing exactly once.

### shutdown

```python theme={null}
def shutdown(self) -> None
```

Delegate shutdown exactly once.

## copy\_span\_for\_export

```python theme={null}
def copy_span_for_export(span: ReadableSpan,
                         routing_resource: Resource | None=None,
                         *,
                         normalize_attributes: bool=False) -> ReadableSpan
```

Return an immutable span copy with final attributes and routing.
