examples/grafana-alloy-auto-instrumentation/ebpf/kubernetes/README.md
This repository provides a practical demonstration of leveraging Grafana Alloy for continuous application profiling using eBPF and Pyroscope in Kubernetes. It illustrates a seamless approach to profiling Golang and Python processes, aiding in performance optimization.
eBPF profiling via Grafana Alloy is based on a few components:
discovery.kubernetes for discovering Kubernetes podsdiscovery.relabel for detecting and filtering target processes and setting up labelspyroscope.ebpf for enabling eBPF profiling for specific applicationspyroscope.write for writing the profiles data to a remote endpointRefer to the official documentation for an in-depth understanding and additional configuration options for eBPF with Grafana Alloy. Also, check the Grafana Alloy Components reference for more details on each used component.
To use this example:
kubectl apply -f alloy.yaml -f grafana.yaml -f pyroscope.yaml -f python-fast-slow.yaml
kubectl port-forward -n pyroscope-ebpf service/grafana 3000:3000
After the deployment is operational, the Grafana Alloy will profile the Go and Python applications using pyroscope.ebpf component.
Refer to the official documentation for an in-depth understanding and additional configuration options for eBPF profiling with Grafana Alloy.