# Odigos — Zero-Code Distributed Tracing for Kubernetes > Automatically instruments applications running in Kubernetes with OpenTelemetry using eBPF, requiring no code changes to generate distributed traces, metrics, and logs. ## Install Save in your project root: # Odigos — Zero-Code Distributed Tracing for Kubernetes ## Quick Use ```bash # Install the Odigos CLI brew install odigos-io/homebrew-odigos-cli/odigos # Deploy Odigos into your Kubernetes cluster odigos install # Select applications to instrument via the UI odigos ui ``` ## Introduction Odigos automatically instruments applications running in Kubernetes to produce distributed traces, metrics, and logs without any code changes. It uses eBPF and OpenTelemetry auto-instrumentation to detect running services and generate telemetry, then routes data to your preferred observability backend. ## What Odigos Does - Auto-detects applications running in Kubernetes pods and their programming languages - Instruments services using eBPF and OpenTelemetry with zero code modifications - Generates distributed traces, metrics, and logs from instrumented workloads - Routes telemetry to backends like Jaeger, Datadog, Grafana, New Relic, and others - Manages the full OpenTelemetry Collector pipeline within the cluster ## Architecture Overview Odigos deploys as a set of Kubernetes controllers. An instrumentor component detects running pods and their languages, then injects the appropriate OpenTelemetry auto-instrumentation (eBPF for compiled languages, language agents for interpreted ones). A scheduler manages OpenTelemetry Collectors as a pipeline, handling sampling, batching, and export to configured destinations. ## Self-Hosting & Configuration - Install via CLI (brew or curl) and deploy to any Kubernetes cluster - Select which namespaces and workloads to instrument through the UI or CRDs - Configure observability destinations (Jaeger, Datadog, Grafana, etc.) via the dashboard - Adjust sampling rates and collection pipelines through Odigos CRDs - Supports both managed Kubernetes (EKS, GKE, AKS) and self-hosted clusters ## Key Features - Zero-code instrumentation requiring no application changes or SDK integration - eBPF-based instrumentation for Go, C++, and other compiled languages - Multi-destination routing to send telemetry to multiple backends simultaneously - Language auto-detection for Python, Java, Node.js, .NET, Go, and more - OpenTelemetry-native pipeline managed entirely within the cluster ## Comparison with Similar Tools - **OpenTelemetry Operator** — Requires manual configuration per service; Odigos automates detection and instrumentation - **Pixie** — eBPF-based but stores data in-cluster; Odigos exports to external backends - **Datadog Agent** — Vendor-specific; Odigos is vendor-neutral and OpenTelemetry-native - **Jaeger** — A tracing backend only; Odigos handles instrumentation and collection ## FAQ **Q: Does Odigos add performance overhead?** A: eBPF instrumentation adds minimal overhead. Language-agent instrumentation has typical OpenTelemetry auto-instrumentation costs. **Q: Which languages does Odigos support?** A: Python, Java, Node.js, .NET, Go, and C++ via eBPF, with the list expanding. **Q: Can I use Odigos outside Kubernetes?** A: Currently Odigos is designed for Kubernetes environments and relies on pod-level detection. **Q: Is Odigos free?** A: The open-source edition is free. An enterprise edition adds advanced features like pipeline management and SSO. ## Sources - https://github.com/odigos-io/odigos - https://docs.odigos.io/ --- Source: https://tokrepo.com/en/workflows/asset-e0606081 Author: AI Open Source