Exporter timeouts are different from Span Processor timeouts. The exporter timeout protects you from slow networks; the processor timeout protects you from slow or overloaded export pipelines. Set the processor timeout higher than the exporter timeout — see the pitfalls section below.
OTLP (OpenTelemetry Protocol)
OTLP is the standardized wire format and transport for OpenTelemetry data. Arize AX accepts spans over OTLP, and most OTel-compatible backends do too. OTLP defines three things:
For the full specification, see OTLP Specification.
Transport: gRPC vs HTTP
OTLP supports two transports. They’re not identical — pick based on your environment.OTLP/gRPC Configuration
OTLP/HTTP Configuration
- No
credentialsconstructor argument — TLS is automatic when the endpoint starts withhttps://. For client certificates, passcertificate_file,client_key_file, orclient_certificate_file. - No
insecure=Trueoption — controlled entirely by thehttp://vshttps://scheme on the endpoint. - No
protocolconstructor argument. To switch the body format betweenhttp/protobuf(default) andhttp/json, setOTEL_EXPORTER_OTLP_TRACES_PROTOCOLin the environment.
Multiple Exporters
You can attach multiple exporters to the same Tracer Provider — useful for development (export to Arize AX and to the console) or for fan-out to multiple backends.Environment Variables
You can configure the exporter entirely from the environment, which is the recommended pattern for production:
The traces-only variant takes priority over the generic one when both are set. For the full reference, see OpenTelemetry environment variables.
Common Pitfalls
A few exporter failure modes worth knowing about up front:- Wrong OTLP port or endpoint — gRPC defaults to 4317, HTTP to 4318. Mixing them up surfaces as connection refused or 404s.
- Wrong encoding for the transport — gRPC requires Protobuf. Trying to send JSON over gRPC will silently fail.
- Proxies breaking gRPC — corporate proxies, service meshes, and some load balancers don’t handle HTTP/2 well. If you see flaky gRPC errors, switch to HTTP.
- TLS mismatches — forgetting
insecure=Truewhen running against a local collector overhttp://fails. So does settinginsecure=Falseagainst anhttp://endpoint. Matchinsecureto the scheme:Trueforhttp://,False(default) forhttps://. - Exporter timeout too high — if the exporter timeout exceeds the Span Processor timeout, the processor can fire a retry while the original export is still in flight, leading to queue buildup and dropped spans.
- Spans over 4 MB hit gRPC message-size limits — very large attributes (full document text, base64 images) can blow past the gRPC default. Truncate large attributes with
TraceConfigor chunk them.