Part 2: A Simple Continuous Cross-Language (Go, Rust, C/C++) Profiler written in eBPF
June 01, 2021
I, Adam Hawkins, recently tried Pixie. I was instantly impressed because it solved a recurring problem for me: application code changes. Let me explain.
As an SRE, I'm responsible for operations, but am often unaware of the services internals. These services are black boxes to me. If the box is an HTTP service, then that requires telemetry on incoming request counts, latencies, and response status code--bonus points for p50, p90, and p95 latencies. My problem, and I'm guessing it's common to other SRE and DevOps teams, is that these services are often improperly instrumented. Before Pixie, we would have to wait on the dev team to add the required telemetry. Truthfully, that's just toil. It would be better for SREs, DevOps engineers, and application developers to have telemetry provided automatically via infrastructure. Enter Pixie.
Pixie is the first telemetry tool I've seen that provides
operational telemetry out of the box with zero changes to
application code. SREs can simply run
px deploy, start collecting
data, then begin troubleshooting in minutes.
It took me a bit to grok Pixie because it's different than tools like NewRelic or DataDog that I've used in the past. Tools like these are different than Pixie becauase:
Pixie is radically different.
Sounds interesting right?
Check out my demo video for quick walkthrough.
Pixie is in free community beta right now. You can install it on your cluster and try it for yourself.