docs/sources/configure-client/grafana-alloy/_index.md
You can send data from your application using Grafana Alloy (preferred) or Grafana Agent (legacy) collectors. Both collectors support profiling with eBPF, Java, and Golang in pull mode.
{{< docs/shared source="pyroscope" lookup="supported-languages-ebpf.md" version="latest" >}}
Grafana Alloy is a vendor-neutral distribution of the OpenTelemetry (OTel) Collector. Alloy uniquely combines the very best OSS observability signals in the community. Alloy uses configuration files written in Alloy configuration syntax. For more information, refer to the Alloy configuration syntax.
Alloy is the recommended collector instead of Grafana Agent. New installations should use Alloy.
The instructions in this section explain how to use Alloy.
{{< admonition type="note" >}} Refer to Available profiling types for a list of supported profile types. {{< /admonition >}}
{{< docs/shared lookup="agent-deprecation.md" source="alloy" version="next" >}}
Grafana Agent is a legacy tool for collecting and forwarding profiling data. Agent supports for eBPF and Golang in pull mode. For information about Agent, refer to Grafana Agent Flow.
Instructions for using Grafana Agent are available in documentation for Pyroscope v1.8 and earlier.
eBPF (Extended Berkeley Packet Filter) is a modern Linux kernel technology that allows for safe, efficient, and customizable tracing of system and application behaviors without modifying the source code or restarting processes.
Benefits of eBPF profiling:
{{< docs/shared source="pyroscope" lookup="supported-languages-ebpf.md" version="latest" >}}
In pull mode, the collector periodically retrieves profiles from Golang applications, specifically targeting the pprof endpoints.
Alloy can receive profiles from applications instrumented with Pyroscope SDKs through the pyroscope.receive_http component. This approach provides several key advantages:
This capability is not available in the legacy Grafana Agent.
pyroscope.receive_http Alloy component.Whether using eBPF for versatile system and application profiling or relying on Golang's built-in pprof endpoints in pull mode, Alloy collectors offer streamlined processes to gather essential profiling data. Choose the method that best fits your application and infrastructure needs.