Odigos eliminates the manual instrumentation effort that is the primary barrier to OpenTelemetry adoption in Kubernetes environments. When deployed as a DaemonSet, Odigos detects every running application in the cluster, identifies its programming language through binary analysis, and automatically attaches the appropriate OpenTelemetry instrumentation using eBPF for compiled languages and language-specific agents for interpreted languages. The result is distributed traces, metrics, and logs flowing within minutes without touching any application code.
The automatic language detection supports Go, Java, Python, Node.js, .NET, and other runtimes, applying the correct instrumentation strategy for each. Compiled languages like Go receive eBPF-based instrumentation that intercepts network calls at the kernel level. Interpreted languages receive injected OpenTelemetry SDK agents that provide richer application-level telemetry. This hybrid approach maximizes coverage while adapting to each language's instrumentation possibilities.
Odigos routes collected telemetry to any OpenTelemetry-compatible backend through configurable destinations. Teams can send data to self-hosted backends like Jaeger and Grafana Tempo, commercial platforms like Datadog and Honeycomb, or any combination through the OpenTelemetry Collector's fanout capabilities. As a CNCF project with over 3,400 GitHub stars, Odigos provides vendor-neutral instrumentation that decouples telemetry collection from backend choice.