Configuring Grafana Phlare tracing
In March 2023, Grafana Labs acquired Pyroscope, the company behind the eponymous open source continuous profiling project. As a result, the Pyroscope and Grafana Phlare projects will be merged under the new name Grafana Pyroscope. To learn more, read our recent blog post about the news.
Grafana Phlare uses Jaeger to implement distributed tracing. Jaeger is a valuable tool for troubleshooting the behavior of Grafana Phlare in production.
Dependencies
Set up Jaeger deployment to collect and store traces from Grafana Phlare. A deployment includes either the Jaeger all-in-one binary, or a distributed system of agents, collectors, and queriers. If you run Grafana Phlare on Kubernetes, refer to Jaeger Kubernetes.
Configuration
To configure Grafana Phlare to send traces, perform the following steps:
- Set the
JAEGER_AGENT_HOST
environment variable in all components to point to the Jaeger agent. - Enable sampling in the appropriate components:
- The ingester self-initiate traces and should have sampling explicitly enabled.
- Sampling for the distributor and querier can be enabled in Grafana Phlare or in an upstream service, like a proxy or gateway running in front of Grafana Phlare.
To enable sampling in Grafana Phlare components you can specify either
JAEGER_SAMPLER_MANAGER_HOST_PORT
for remote sampling, or
JAEGER_SAMPLER_TYPE
and JAEGER_SAMPLER_PARAM
to manually set sampling
configuration. Refer to Jaeger Client Go
documentation
for the full list of environment variables you can configure.
Note that you must specify one of JAEGER_AGENT_HOST
or
JAEGER_SAMPLER_MANAGER_HOST_PORT
in each component for Jaeger to be enabled,
even if you plan to use the default values.