Live data from Hacker News

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

news.ycombinator.com

11–20 of 53 posts

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

#11
Interesting, it looks like you've put some hard work into this project. My question is, what if a pod has multiple containers in it? How does Odigos choose which icon/programming language that is displayed for the pod? For example, I have a Deployment that runs pods with two containers: a php-fpm container and a nginx container. Would the "Choose Target Applications" page show an icon for both Nginx and PHP for the given Deployment? Would Odigos report separate metrics to the backend Desination for both PHP and Nginx?

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

#13
post #3

Wow, if this really works like you describe, then this is magic! > Automatic instrumentation across programming languages is not a trivial task, especially when dealing with static binaries (like the ones produced by the Go compiler). We built multiple mechanisms to make sure we inject the relevant headers in a secure and stable way. We developed a system that tracks functions and structs across different versions of…

> Though I'd still recommend new projects do "proper" tracing with not only one-per-service spans, but also spans for important functions, including additional application-specific tags, as that is easily 10x the value.

FWIW Odigos makes this possible because it uses OpenTelemetry (and generates OTel-compatible instrumentation for the eBPF-sourced data). You can go into an app that's instrumented this way, add an OpenTelemetry SDK, and start writing manual instrumentation or include additional instrumentation libraries. Your traces will just get deeper/richer when you do that.

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

#14
Looks awesome! I hadn't had the chance to dive into eBPF yet, but I had hoped someone would be able to use it in a clever way like this!

I was digging through the docs and it looks like you have custom language detection. Did you consider trying to extract the language detection features from buildpack to do this? I imagine you'd get more reliable results and less to maintain if you used that as the basis.

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

#15

Congrats on the launch! OpenTelemetry/Distributed Tracing has been in dire need of quality of life improvements, so I'm glad to see more folks filling in the gaps. I see you're injecting trace IDs into programs. How do you guarantee that this doesn't break the binary or flag any security/compliance requirements?

> dire need of quality of life improvements

Agreed! I'm one of the maintainers of part of the project - what sorts of things are top of mind for you w.r.t. quality of life improvements?

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

#16

Looks awesome! I hadn't had the chance to dive into eBPF yet, but I had hoped someone would be able to use it in a clever way like this! I was digging through the docs and it looks like you have custom language detection. Did you consider trying to extract the language detection features from buildpack to do this? I imagine you'd get more reliable results and less to maintain if you used that as the basis.

Yes we are actually using a combination of env vars / process names / linked libraries and container metadata to detect the language

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

#17

This is really cool. Upon further Googling, readers may be interested in https://kubernetes.io/blog/2017/12/using-ebpf-in-kubernetes/ If you can go beyond Kubernetes, I think that'd give Odigos more staying power. Naturally some integrations are out of your hands, AWS Fargate being one ( https://github.com/aws/containers-roadmap/issues/1027 ). However, if you could get integrations up and running with the likes of Fa…

Support for non-Kubernetes environments is something we are planning to release very soon.

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

#18
post #11

Interesting, it looks like you've put some hard work into this project. My question is, what if a pod has multiple containers in it? How does Odigos choose which icon/programming language that is displayed for the pod? For example, I have a Deployment that runs pods with two containers: a php-fpm container and a nginx container. Would the "Choose Target Applications" page show an icon for both Nginx and PHP for the g…

Odigos will be able to instrument both containers each with the relevant instrumentation. As you pointed out, there is currently a bug in the UI that shows just one programming language per pod. Working on fixing it soon

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

#20
post #19

Looks cool! Great to see entrants into this space. How does this compare with Cilium? Looks like they do OT tracing ( https://github.com/cilium/hubble-otel ) but it's not native/core, is that the main distinction?

As far as I know cilium does not do automatic context propagation and require code changes to achieve it. Odigos automatically do context propagation
Post reply on HN