Hacker Newsnew | past | comments | ask | show | jobs | submit | oazizi's commentslogin

Pixie contributor here. Lots of great eBPF resources there!

For the question of whether it's possible to trace conditionally when a pattern expression matches, Pixie's philosophy is to trace everything and then allow you to use the querying language (called PxL) to query for the conditions you were looking for. The idea is that you may not know what you should have been looking for until you need to troubleshoot.


To be able to drop into an (e.g. rr) debugger on condition (e.g. by replicating that node's state ~State Share ) might result in a less appropriately comprehensive automated test suite, or faster tests?

Looks like Jaeger (Uber contributed to CNCF) supports OpenTracing, OpenTelemetry, and exporting stats for Prometheus. https://github.com/cncf/landscape


Founding engineer at Pixie here.

To add to what zasgar mentioned, I just wanted to point out that our instrumentation-free approach does apply to JVM and Node/Python applications for many of the traces we gather. For example, we use EBPF to trace protocols like HTTP as the data passes through the kernel. By gathering the data in the kernel, these EBPF tracers are completely language agnostic.


What do you do for HTTPS which would be encrypted as it passes through the kernel and is only decrypted in the application process?


Great question. You're right that tracing in the kernel doesn't work for encrypted traffic (that means anything over TLS, including HTTPS). For encrypted connections, we still want to give the no-manual-instrumentation-required experience to our users, so what we do is trace the SSL/TLS library to capture the traffic. Right now, for example, we trace traffic going through OpenSSL. This has the benefit of covering a wide array of programs in different languages, including any dynamic languages that use OpenSSL. And we plan on adding more TLS libraries soon (e.g. GoTLS) to fill in the gaps.

We'll be publishing a blog post on this soon, so please stay tuned. In the meanwhile, this other post (https://docs.pixielabs.ai/tutorials/simple-go-tracing/) gives an idea of how one can use EBPF user-space probes to trace applications and system libraries.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: