diff --git a/docs/sources/datasources/pyroscope/_index.md b/docs/sources/datasources/pyroscope/_index.md index ab4be10a69e..87aad99701b 100644 --- a/docs/sources/datasources/pyroscope/_index.md +++ b/docs/sources/datasources/pyroscope/_index.md @@ -51,7 +51,7 @@ To use profiling data, you should: - [Configure your application to send profiles](/docs/pyroscope//configure-client/) - [Configure the Grafana Pyroscope data source](./configure-pyroscope-data-source/). -- [View and query profiling data in Explore](./query-profile-data/) +- [View and query profiling data using Explore Profiles or the query editor ](./query-profile-data/) ## Integrate profiles into dashboards diff --git a/docs/sources/datasources/pyroscope/query-profile-data.md b/docs/sources/datasources/pyroscope/query-profile-data.md index 883ebc58e06..d85ebfd9d70 100644 --- a/docs/sources/datasources/pyroscope/query-profile-data.md +++ b/docs/sources/datasources/pyroscope/query-profile-data.md @@ -1,5 +1,5 @@ --- -description: Use the query editor to explore your Pyroscope data. +description: Explore your profiling data using Explore Profiles or the Pyroscope query editor. keywords: - query - profiling @@ -28,6 +28,16 @@ refs: destination: /docs/grafana//explore/ - pattern: /docs/grafana-cloud/ destination: /docs/grafana//explore/ + explore-profiles: + - pattern: /docs/grafana/ + destination: /docs/grafana//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//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//administration/provisioning/#datasources @@ -37,8 +47,64 @@ refs: # 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 + + + +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. + + + +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. + ![Query editor](/media/docs/pyroscope/query-editor/query-editor.png 'Query editor') To access the query editor: @@ -52,9 +118,9 @@ To access the query editor: {{< 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/latest/) for available operators and syntax. + Refer to [Pyroscope documentation](https://grafana.com/docs/pyroscope//) for available operators and syntax. - While the label selector can be left empty to query all profiles without filtering by labels, the profile type or app must be selected for the query to be valid. + 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.