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.
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.
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.
These libraries capture telemetry information from a client application with minimal manual instrumentation of the codebase.
- OpenTelemetry Java auto-instrumentation and documentation
- OpenTelemetry .NET auto-instrumentation
- OpenTelemetry Python auto-instrumentation
- OpenTelemetry Go auto-instrumentation and documentation
Additional OTel resources
- Java HTTP Metrics from OpenTelemetry Traces
- OpenTelemetry documentation at Grafana
- OpenTelemetry Go instrumentation examples
- OpenTelemetry Language Specific Instrumentation
Other instrumentation resources
Note: Jaegar client libraries have been deprecated. For more information, refer to the Deprecating Jaeger clients article. Jaegar now recommends using OpenTelemetry SDKs.
The Grafana blot periodically features instrumentation posts.
- How to configure OpenTelemetry .NET automatic instrumentation with Grafana Cloud
- Java Spring Boot Auto-Instrumentation
- Go + OpenMetrics Exemplars