mirror of
https://github.com/grafana/grafana.git
synced 2025-07-29 18:52:38 +08:00

* Update Pyroscope data source for Exlore Profiles * Update docs/sources/datasources/pyroscope/query-profile-data.md * Update docs/sources/datasources/pyroscope/query-profile-data.md
156 lines
7.4 KiB
Markdown
156 lines
7.4 KiB
Markdown
---
|
||
description: Explore your profiling data using Explore Profiles or the Pyroscope query editor.
|
||
keywords:
|
||
- query
|
||
- profiling
|
||
- pyroscope
|
||
labels:
|
||
products:
|
||
- cloud
|
||
- enterprise
|
||
- oss
|
||
title: Query profile data
|
||
menuTitle: Query profile data
|
||
weight: 300
|
||
refs:
|
||
configure-tempo-data-source:
|
||
- pattern: /docs/grafana/
|
||
destination: /docs/grafana/<GRAFANA_VERSION>/datasources/tempo/configure-tempo-data-source/
|
||
- pattern: /docs/grafana-cloud/
|
||
destination: docs/grafana-cloud/connect-externally-hosted/data-sources/tempo/configure-tempo-data-source/
|
||
flame-graph:
|
||
- pattern: /docs/grafana/
|
||
destination: /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/visualizations/flame-graph/
|
||
- pattern: /docs/grafana-cloud/
|
||
destination: /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/visualizations/flame-graph/
|
||
explore:
|
||
- pattern: /docs/grafana/
|
||
destination: /docs/grafana/<GRAFANA_VERSION>/explore/
|
||
- pattern: /docs/grafana-cloud/
|
||
destination: /docs/grafana/<GRAFANA_VERSION>/explore/
|
||
explore-profiles:
|
||
- pattern: /docs/grafana/
|
||
destination: /docs/grafana/<GRAFANA_VERSION>/explore/simplified-exploration/profiles/
|
||
- pattern: /docs/grafana-cloud/
|
||
destination: /docs/grafana-cloud/visualizations/simplified-exploration/profiles/
|
||
explore-profile-install:
|
||
- pattern: /docs/grafana/
|
||
destination: /docs/grafana/<GRAFANA_VERSION>/explore/simplified-exploration/profiles/access/
|
||
- pattern: /docs/grafana-cloud/
|
||
destination: /docs/grafana-cloud/visualizations/simplified-exploration/profiles/access/
|
||
provisioning-data-sources:
|
||
- pattern: /docs/grafana/
|
||
destination: /docs/grafana/<GRAFANA_VERSION>/administration/provisioning/#datasources
|
||
- pattern: /docs/grafana-cloud/
|
||
destination: /docs/grafana/<GRAFANA_VERSION>/administration/provisioning/#datasources
|
||
---
|
||
|
||
# Query profile data
|
||
|
||
You can query your profile data using the built-in data source query editor or you can use the open source Grafana Explore Profiles app.
|
||
|
||
## Explore Profiles
|
||
|
||
[Explore Profiles](ref:explore-profiles) is a native Grafana application designed to integrate seamlessly with Pyroscope, the open source continuous profiling platform, providing a smooth, queryless experience for browsing and analyzing profiling data.
|
||
|
||
You can use Explore Profiles in Grafana Cloud or in your own Grafana instance.
|
||
For more information, refer to [Access or install Explore Profiles](ref:explore-profiles-install).
|
||
|
||
### Use cases
|
||
|
||
There are several different modes for viewing, analyzing, and comparing profiling data.
|
||
|
||
The main use cases are the following:
|
||
|
||
- Proactive: Cutting costs, addressing latency issues, or optimizing memory usage for applications
|
||
- Reactive: Resolving incidents with line-level accuracy or debugging active latency/memory issues
|
||
|
||
Explore Profiles provides an intuitive interface to specifically support these use cases.
|
||
You get a holistic view of all of your services and how they're functioning, but also the ability to drill down for more targeted root cause analysis.
|
||
|
||
Explore Profiles offers a convenient platform to analyze profiles and get insights that are impossible to get from using other traditional signals like logs, metrics, or tracing.
|
||
|
||
{{< youtube id="x9aPw_CbIQc" >}}
|
||
|
||
{{< docs/play title="the Grafana Play site" url="https://play.grafana.org/a/grafana-pyroscope-app/profiles-explorer" >}}
|
||
|
||
### Continuous profiling
|
||
|
||
While code profiling has been a long-standing practice, continuous profiling represents a modern and more advanced approach to performance monitoring.
|
||
|
||
This technique adds two critical dimensions to traditional profiles:
|
||
|
||
Time
|
||
: Profiling data is collected _continuously_, providing a time-centric view that allows querying performance data from any point in the past.
|
||
|
||
Metadata
|
||
: Profiles are enriched with metadata, adding contextual depth to the performance data.
|
||
|
||
These dimensions, coupled with the detailed nature of performance profiles, make continuous profiling a uniquely valuable tool.
|
||
|
||
### Flame graphs
|
||
|
||
<!-- vale Grafana.We = NO -->
|
||
|
||
Flame graphs help you visualize resource allocation and performance bottlenecks, and you even get suggested recommendations and performance fixes via AI-driven flame graph analysis, as well as line-level insights from our GitHub integration.
|
||
|
||
<!-- vale Grafana.We = YES -->
|
||
|
||
On views with a flame graph, you can use **Explain flame graph** to provide an AI flame graph analysis that explains the performance bottleneck, root cause, and recommended fix.
|
||
For more information, refer to [Flame graph AI](https://grafana.com/docs/grafana-cloud/monitor-applications/profiles/flamegraph-ai/).
|
||
|
||
## Pyroscope query editor
|
||
|
||
The Pyroscope data source query editor gives you access to a profile type selector, a label selector, and collapsible options.
|
||
|
||
Like Explore Profiles, the query editor also provides a flame graph to visualize data.
|
||
|
||

|
||
|
||
To access the query editor:
|
||
|
||
1. Sign into Grafana or Grafana Cloud.
|
||
1. Select your Pyroscope data source.
|
||
1. From the menu, choose **Explore**.
|
||
|
||
1. Select a profile type from the drop-down menu.
|
||
|
||
{{< figure src="/media/docs/pyroscope/query-editor/select-profile.png" class="docs-image--no-shadow" max-width="450px" caption="Profile selector" >}}
|
||
|
||
1. Use the labels selector input to filter by labels. Pyroscope uses similar syntax to Prometheus to filter labels.
|
||
Refer to [Pyroscope documentation](https://grafana.com/docs/pyroscope/<PYROSCOPE_VERSION>/) for available operators and syntax.
|
||
|
||
While the label selector can be left empty to query all profiles without filtering by labels, you must select a profile type or app for the query to be valid.
|
||
|
||
Grafana doesn't show any data if the profile type or app isn’t selected when a query runs.
|
||
|
||

|
||
|
||
1. Expand the **Options** section to view **Query Type** and **Group by**.
|
||

|
||
|
||
1. Select a query type to return the profile data. Data is shown in the [Flame Graph](ref:flame-graph), metric data visualized in a graph, or both. You can only select both options in Explore. The panels used on dashboards allow only one visualization.
|
||
|
||
Using **Group by**, you can group metric data by a specified label.
|
||
Without any **Group by** label, metric data aggregates over all the labels into single time series.
|
||
You can use multiple labels to group by. Group by only effects the metric data and doesn't change the profile data results.
|
||
|
||
## Profiles query results
|
||
|
||
Profiles can be visualized in a flame graph.
|
||
Refer to the [Flame Graph documentation](ref:flame-graph) to learn about the visualization and its features.
|
||
|
||

|
||
|
||
Pyroscope returns profiles aggregated over a selected time range.
|
||
The absolute values in the flame graph grow as the time range gets bigger while keeping the relative values meaningful.
|
||
You can zoom in on the time range to get a higher granularity profile up to the point of a single scrape interval.
|
||
|
||
## Metrics query results
|
||
|
||
Metrics results represent the aggregated sum value over time of the selected profile type.
|
||
|
||

|
||
|
||
This allows you to quickly see any spikes in the value of the scraped profiles and zoom in to a particular time range.
|