How does Tracing Work?
How do we use OpenTelemetry to create traces in Arize?
Last updated
Was this helpful?
How do we use OpenTelemetry to create traces in Arize?
Last updated
Was this helpful?
There are five key components within tracing - Instrumentation, Span Processor, Exporter, Protocol, and Collector. We've built all of these within our tracing tools to make it easy to troubleshoot your application and surface issues.
In order for an application to emit traces for analysis, the application must be instrumented. Your application can be manually or automatically instrumented.
Our auto-instrumentation plugins will collect spans for you with just a few lines of code. All of these instrumentors are managed via a single repository called OpenInference.
Instrumentation works by automatically detecting specific function calls and logging their attributes to span properties, such as input variables, outputs, latency, and more. Each auto-instrumentor is built specifically to map to the provider's SDK, such as OpenAI, Bedrock, Llamaindex, and Langchain.
Span processors dictate how the spans should be processed during the execution of a request, and whether it should be blocking or not. There are 2 main span processors:
Batch Processor - Used for product deployments, this is non-blocking for your application. We default to batch when we register your instrumentation to reduce latency.
SimpleSpanProcessor - This is a synchronous logging instrumentation where the log call is blocking, delays in collector will back up into your application. Used for debugging setups.
Read more about how this is setup on our arize-otel page.
An exporter takes the spans created via instrumentation and exports them to a collector. In simple terms, it sends the data to an Arize URL with a specified format. The exporter used for Arize is the GRPC exporter.
OpenTelemetetry Protocol (or OTLP for short) is the means by which traces arrive from your application to the Arize collector. Arize currently supports OTLP over GRPC.
The Arize server is a collector and a UI that helps you troubleshoot your application in real time. Arize receives your logs and visualizes them on our dashboard. We use many technologies under the hood to ensure we can support millions of traces and return you aggregations and insights on your data.
We receive spans at https://otlp.arize.com/v1
in the US and https://otlp.eu-west-1a.arize.com/v1
in Europe.