MCPcopy
hub / github.com/odigos-io/odigos

github.com/odigos-io/odigos @v1.30.2 sqlite

repository ↗ · DeepWiki ↗ · release v1.30.2 ↗
11,030 symbols 32,616 edges 1,392 files 3,071 documented · 28%
README
<a href="https://github.com/odigos-io/odigos/actions/workflows/release.yml" target="_blank">
    <img src="https://github.com/odigos-io/odigos/actions/workflows/release.yml/badge.svg" alt="Release Odigos CLI"/>
</a>
<a href="https://goreportcard.com/report/github.com/odigos-io/odigos/cli" target="_blank">
    <img src="https://goreportcard.com/badge/github.com/odigos-io/odigos/cli" alt="Go Report Card"/>
</a>
<a href="https://godoc.org/github.com/odigos-io/odigos/cli" target="_blank">
    <img src="https://godoc.org/github.com/odigos-io/odigos/cli?status.svg" alt="GoDoc"/>
</a>

Logo Dark Mode Logo Light Mode

<h2>Generate distributed traces for any application without code changes.</h2>
<h4>If you find Odigos helpful, please ⭐ this repository to show your support!</h4>
<h2>
    <a href="https://odigos.io/?demo">Demo Video</a>
    • <a href="https://docs.odigos.io">Documentation</a>
    • <a href="https://join.slack.com/t/odigos/shared_invite/zt-1d7egaz29-Rwv2T8kyzc3mWP8qKobz~A">Join Slack Community</a>
</h2>

What is Odigos?

Odigos is an open-source distributed tracing solution that simplifies and improves observability for Kubernetes environments and Virtual Machines. It provides instant tracing capabilities without requiring any code changes to your applications.

Odigos empowers platform engineers, DevOps professionals, and SREs to enhance their observability strategies quickly and effectively. It is an ideal solution for modern cloud-native environments, combining simplicity, performance, and industry expertise.

Why choose Odigos?

  1. Simplicity : Implement distributed tracing with minimal effort and complexity.
  2. Performance : Separates data recording and processing to minimize runtime impact.
  3. Community-Backed : With 3,000+ GitHub stars and a growing contributor base.
  4. Expertise : Created by multiple maintainers of OpenTelemetry, ensuring deep integration and alignment with industry standards.

Key Features

  • Code-Free Instrumentation : Set up distributed tracing in minutes, eliminating manual code modifications.
  • Multi-Language Support : Works with Java, Python, .NET, Node.js, and Go applications.
  • eBPF-Powered : Utilizes eBPF technology for high-performance instrumentation.
  • OpenTelemetry Compatible : Generates traces in OpenTelemetry format for broad tool compatibility.
  • Vendor Agnostic : Integrates with various monitoring solutions, avoiding vendor lock-in.
  • Automatic Scaling : Manages and scales OpenTelemetry collectors based on data volume.
  • Opinionated Defaults : Supplies common defaults and best practices out-of-the-box, requiring no deep knowledge of OpenTelemetry.

✨ Language Agnostic Auto-instrumentation

Odigos supports any application written in Java, Python, .NET, Node.js, and Go. Historically, compiled languages like Go have been difficult to instrument without code changes. Odigos solves this problem by uniquely leveraging eBPF.

Works on any application

🤝 Keep your existing observability tools

Odigos currently supports all the popular managed and open-source destinations. By producing data in the OpenTelemetry format, Odigos can be used with any observability tool that supports OTLP.

For a complete list of supported destinations, see here.

Works with any observability tool

🎛️ Collectors Management

Odigos automatically scales OpenTelemetry collectors based on observability data volume. Manage and configure collectors via a convenient web UI.

Collectors Management

Installation

Installing Odigos takes less than 5 minutes and requires no code changes.

Download our CLI and run the following command:

odigos install

For more information, see our quickstart guide.

Contributing

Please refer to the CONTRIBUTING.md file for information about how to get involved. We welcome issues, questions, and pull requests.

Thanks to our Contributors

License

This project is licensed under the terms of the Apache 2.0 open-source license. Please refer to LICENSE for the full terms.

Extension points exported contracts — how you extend this code

Manager (Interface)
Manager is used to orchestrate the ebpf instrumentations lifecycle. [7 implementers]
instrumentation/manager.go
Inspector (Interface)
Inspector performs two types of scans (QuickScan and DeepScan), each using a different approach to determine the program [15 …
procdiscovery/pkg/inspectors/langdetect.go
ActionConfig (Interface)
(no doc) [8 implementers]
autoscaler/controllers/actions/action_controller.go
ClusterKindDetector (Interface)
(no doc) [7 implementers]
cli/pkg/autodetect/kind.go
ResourceManager (Interface)
(no doc) [6 implementers]
cli/cmd/resources/resourcemanager/resourcemanager.go
Matcher (Interface)
(no doc) [11 implementers]
collector/processors/odigostailsamplingprocessor/matchers/matcher.go
Configer (Interface)
(no doc) [69 implementers]
common/config/root.go
ProfileInterface (Interface)
ProfileInterface defines the interface for different profile types [4 implementers]
k8sutils/pkg/diagnose/profiles.go

Core symbols most depended-on inside this repo

Error
called by 2470
cli/pkg/log/logger.go
Info
called by 258
common/logger/logger.go
get
called by 250
collector/receivers/odigosebpfreceiver/logs.go
Add
called by 233
frontend/services/profiles/buffer.go
Len
called by 226
collector/connectors/servicegraphconnector/internal/store/store.go
GetID
called by 195
common/config/config.go
Run
called by 165
instrumentation/manager.go
GetConfig
called by 121
common/config/config.go

Shape

Method 6,097
Function 3,183
Struct 1,345
Interface 242
TypeAlias 132
FuncType 23
Class 5
Enum 3

Languages

Go98%
TypeScript2%
Python1%
Java1%

Modules by API surface

frontend/graph/generated.go2,788 symbols
frontend/graph/model/models_gen.go374 symbols
opampserver/protobufs/opamp.pb.go353 symbols
api/odigos/v1alpha1/zz_generated.deepcopy.go140 symbols
api/actions/v1alpha1/zz_generated.deepcopy.go66 symbols
frontend/webapp/app/trace-correlations/page.tsx64 symbols
opampserver/protobufs/anyvalue.pb.go56 symbols
frontend/graph/schema.resolvers.go53 symbols
collector/config/configgrpc/configgrpc_test.go51 symbols
common/odigos_config.go41 symbols
collector/connectors/servicegraphconnector/connector.go40 symbols
frontend/graph/conversions.go39 symbols

Dependencies from manifests, versioned

4d63.com/gocheckcompilerdirectivesv1.2.1 · 1×
4d63.com/gochecknoglobalsv0.2.1 · 1×
cel.dev/exprv0.25.1 · 1×
cloud.google.com/gov0.123.0 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/computev1.57.0 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/loggingv1.13.2 · 1×
cloud.google.com/go/longrunningv0.8.0 · 1×
cloud.google.com/go/monitoringv1.24.3 · 1×

For agents

$ claude mcp add odigos \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact