Replies: 2 comments 7 replies
-
So, you are proposing to accept metrics only through this SWIP. And do you mean this is specific for VM monitoring extension? Further, what do you suggest visualizing? |
Beta Was this translation helpful? Give feedback.
7 replies
-
fyi @mrproliu When you are back from the vacation, I would like to hear your thoughts about this. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Motivation
eBPF is a revolutionary technology with origins in the Linux kernel that can run sandboxed programs in a privileged context such as the operating system kernel. It is used to safely and efficiently extend the capabilities of the kernel without requiring to change kernel source code or load kernel modules.
In recent years, eBPF has played an increasingly significant role in the field of observability. The Apache SkyWalking community also has its own eBPF tool — SkyWalking Rover. However, Rover is not suitable for simple eBPF performance probing (such as basic I/O status monitoring). BCC / bpftrace provide many ebpf tools to help us perform these simple runtime status checks:
Therefore, we can leverage these tools to build a dedicated eBPF performance monitoring dashboard. We can implement basic performance monitoring using just a single dashboard, similar to Brendan Gregg's "Linux Performance Analysis in 60 seconds".
Architecture Graph
Let's start by introducing one component: ebpf_exporter
ebpf_exporter is a Prometheus exporter for custom eBPF metrics and OpenTelemetry traces. Motivation of this exporter is to allow us to write eBPF code and export metrics that are not otherwise accessible from the Linux kernel. With this component, we can easily convert the output of eBPF command-line programs into the OpenTelemetry format.
Proposed Changes
The first set of performance metrics I aim to contribute will come from the following tools, They will complement the existing vm-monitor.
Here are some things I hope to contribute in the near future:
These programs can provide trace data for us to observe system performance in greater detail.
There are also some things I will contribute in the later future:
These are very important programs, but they are not directly supported by ebpf_exporter and require manually writing configuration files.
Imported Dependencies libs and their licenses.
No new dependency.
Compatibility
No breaking changes.
Beta Was this translation helpful? Give feedback.
All reactions