HN user

edenfed

223 karma

CTO at Odigos (YC W23)

Posts19
Comments49
View on HN
odigos.io 2y ago

Integrating Manual with Automatic Instrumentation

edenfed
16pts0
odigos.io 2y ago

eBPF-based auto-instrumentation outperforms manual instrumentation

edenfed
202pts59
keyval.dev 3y ago

Show HN: Distributed tracing for Go applications with eBPF

edenfed
2pts0
keyval.dev 3y ago

Show HN: The New Odigos Language Detector

edenfed
2pts0
keyval.dev 3y ago

Odigos v0.1.5: Controlling OpenTelemetry with Kubernetes labels

edenfed
3pts0
keyval.dev 3y ago

Instantly generate and send OpenTelemetry data To AWS S3

edenfed
2pts0
keyval.dev 3y ago

Extending Containers with Kubernetes Device Plugin

edenfed
6pts2
github.com 3y ago

Show HN: Odigos (YC W23) – Instant distributed tracing for Kubernetes clusters

edenfed
3pts1
news.ycombinator.com 3y ago

Launch HN: Odigos (YC W23) – Instant distributed tracing for Kubernetes clusters

edenfed
162pts52
keyval.dev 3y ago

Distributed Tracing in 2025: Where are we heading

edenfed
6pts1
github.com 3y ago

Show HN: Fix production issues faster with Odigos

edenfed
1pts0
odigos.io 3y ago

Effortless distributed tracing for Go applications

edenfed
3pts0
odigos.io 3y ago

Open Source Observability on Kubernetes Using eBPF/OpenTelemetry

edenfed
3pts2
odigos.io 3y ago

Show HN: Open-Source Observability Control Plane

edenfed
2pts0
github.com 3y ago

Odigos: Get traces, metrics and logs without code changes for any application

edenfed
4pts0
keyval.dev 4y ago

Show HN: Search Engine for Developers

edenfed
2pts2
github.com 4y ago

Show HN: Automatic Instrumentation for Go Applications

edenfed
3pts1
medium.com 4y ago

Fixing Log4Shell in a single command without downtime on Kubernetes

edenfed
3pts0
github.com 5y ago

Show HN: kubectl-flame – Effortless profiling on Kubernetes

edenfed
28pts6

Speaking for Odigos (disclosure: I’m the creator), here are two significant differences between us and the other mentioned players:

- Accurate distributed traces with eBPF, including context propagation. Without going into other tools, I highly recommend trying to generate distributed traces using any other eBPF solution and observing the results firsthand.

- We are agent-only. Our data is produced in OpenTelemetry format, allowing you to integrate it seamlessly with your existing observability system.

I hope this clarifies the differences.

You can enrich the spans created by eBPF by using OpenTelemetry APIs as usual, the eBPF instrumentation is a replacement for the instrumentation SDK. The eBPF program will detect the data recorded via the APIs and will add it to the final trace combining both automatic and manually created data.

We already solved compiled languages (Go, C, Rust) and JIT languages (Java, C#). Interpreted languages (Python, JS) are the only ones left, hopefully we will solve these as well soon. The big challenge is supporting all the different runtimes, once that is solved implementing support for different protocols / open-source libraries is not as complicated.

eBPF instrumentation does not require code changes, redeployment or restart to running applications.

We are constantly adding more language support for eBPF instrumentation and are aiming to cover the most popular programming languages soon.

Btw, not sure that sampling is really the solution to combat overhead, after all you probably do want that data. Trying to fix production issue when the data you need is missing due to sampling is not fun

Thanks for the valuable feedback! We used a constant throughout of 10,000 rps. The exact testing setup can be found under “how we tested”.

I think the example you gave for the lock used by Prometheus library is a great example why generation of traces/metrics is a great fit for offloading to different process (an agent).

Patchyderm looks very interesting however I am not sure how you can generate distributed traces based on metrics, how do you fill in the missing context propagation?

Our way to deal with eBPF root requirements is to be transparent as possible. This is why we donated the code to the CNCF and developing as part of the OpenTelemetry community. We hope that being open will make users trust us. You can see the relevant code here: https://github.com/open-telemetry/opentelemetry-go-instrumen...

It depends on the programming language being instrumented. For Go we are assuming the context.Context object is passed around between different functions or goroutines. For Java, we are using a combination of ThreadLocal tracing and Runnable tracing to support use cases like reactive and multithreaded applications.

Disclaimer: I am one of the maintainers

Many comments complain about the complexity of using OpenTelemetry, I recommend checking out Odigos, an open-source project which makes working with OpenTelemetry much easier: https://github.com/keyval-dev/odigos

We combine OpenTelemetry and eBPF to instantly generate distributed traces without any code changes.

Hi HN, Ari & Eden, founders of Odigos here. Super excited to introduce version v0.1.4 of Odigos, our open source project. We have been hard at work adding new features that include support for ARM processors (latest Macbooks/AWS Graviton), new destinations as well as major stability improvements

Read more about this release in our blog: https://keyval.dev/version-v0-1-4/

Interested in contributing to Odigos? Check out our open Github Issues: https://github.com/keyval-dev/odigos/issues?q=is%3Aissue+is%...

Let us know what you think!