This is documentation for the next version of Tempo. For the latest stable release, go to the latest version.
Instrument for distributed tracing
Client instrumentation is the first building block to a functioning distributed tracing visualization pipeline. Client instrumentation is the process of adding instrumentation points in the application that create and offload spans.
Check out these resources for help instrumenting tracing with your favorite languages. Most of these guides include complete end-to-end examples with Grafana, Loki, Mimir, and Tempo.
Instrumentation frameworks
Most of the popular client instrumentation frameworks have SDKs in the most commonly used programming languages. You should pick one according to your application needs.
OpenTelemetry has the most active development in the community and may be a better long-term choice.
- OpenTelemetry
- Zipkin
- OpenTracing/Jaeger (deprecated)
OpenTelemetry
A collection of tools, APIs, and SDKs, OpenTelemetry helps engineers instrument, generate, collect, and export telemetry data such as metrics, logs, and traces, to analyze software performance and behavior.
Auto-instrumentation frameworks
OpenTelemetry provides auto-instrumentation agents and libraries of Java, .Net, Python, Go, and JavaScript applications, among others. For more information, refer for the OpenTelemetry Instrumentation documentation.
These libraries capture telemetry information from a client application with minimal manual instrumentation of the codebase.
- OpenTelemetry Java auto-instrumentation
- OpenTelemetry .NET auto-instrumentation
- OpenTelemetry Python auto-instrumentation
- OpenTelemetry Go auto-instrumentation and documentation
Additional OTel resources
- Grafana Application Observability
- OpenTelemetry Go instrumentation examples
- OpenTelemetry Language Specific Instrumentation
Other instrumentation resources
Zipkin
Jaeger
Note
Jaeger client libraries have been deprecated. For more information, refer to the Deprecating Jaeger clients article. Jaeger now recommends using OpenTelemetry SDKs.
Grafana Blog
The Grafana blog periodically features instrumentation posts.
- How to configure OpenTelemetry .NET automatic instrumentation with Grafana Cloud
- Java Spring Boot Auto-Instrumentation
- Go + OpenMetrics Exemplars
- .NET
- Python