Settings

Theme

Show HN: Pixie, open source observability for Kubernetes using eBPF

github.com

6 points by nserrino 4 years ago · 3 comments

Reader

westurner 4 years ago

"Sysdig and Falco now powered by eBPF" too; https://sysdig.com/blog/sysdig-and-falco-now-powered-by-ebpf...

- "Linux Extended BPF (eBPF) Tracing Tools" https://www.brendangregg.com/ebpf.html lists eBPF commands, [CLI] frontends, relevant kernel components

- awesome-ebpf#manual-pages https://github.com/zoidbergwill/awesome-ebpf links to the kernel eBPF docs

- eBPF -> BPF Berkeley Packet Filter: https://en.wikipedia.org/wiki/Berkeley_Packet_Filter :

> Extensions & optimizations: Since version 3.18, the Linux kernel includes an extended BPF virtual machine with ten 64-bit registers, termed extended BPF (eBPF). It can be used for non-networking purposes, such as for attaching eBPF programs to various tracepoints.[5][6][7] Since kernel version 3.19, eBPF filters can be attached to sockets,[8][9] and, since kernel version 4.1, to traffic control classifiers for the ingress and egress networking data path.[10][11] The original and obsolete version has been retroactively renamed to classic BPF (cBPF). Nowadays, the Linux kernel runs eBPF only and loaded cBPF bytecode is transparently translated into an eBPF representation in the kernel before program execution.[12] All bytecode is verified before running to prevent denial-of-service attacks. Until Linux 5.3, the verifier prohibited the use of loops.

- ... EVM/eWASM opcodes have a cost in gas/particles; https://github.com/crytic/evm-opcodes ... (dlt) Dataset indexing curation signals & incentives

"Tracing in Kubernetes: kubectl capture plugin." https://sysdig.com/blog/tracing-in-kubernetes-kubectl-captur...

kubectl-capture: https://github.com/sysdiglabs/kubectl-capture.git

Is it possible to do this sort of low level distributed tracing with Pixie e.g. conditionally when a pattern expression matches?

  • oazizi 4 years ago

    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.

    • westurner 4 years ago

      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

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection