Последнее обновление: июля 8, 2026

Запрос данных профилей

Вы можете запрашивать данные ваших профилей с помощью приложения Grafana Profiles Drilldown с открытым исходным кодом или встроенного редактора запросов источника данных Pyroscope.

  • Profiles Drilldown предоставляет опыт запросов без написания запросов для изучения данных профилирования с продуманными рабочими процессами, помогающими в вашем исследовании.
  • Редактор запросов источника данных предоставляет полный контроль над исследованием данных и рекомендуется опытным пользователям.

Кроме того, вы можете встраивать панели графа пламени в дашборды Grafana. Подробности см. в документации Панель графа пламени.

Profiles Drilldown

Grafana Profiles Drilldown — это нативное приложение Grafana, разработанное для бесшовной интеграции с Pyroscope, платформой непрерывного профилирования с открытым исходным кодом, обеспечивая плавный опыт просмотра и анализа данных профилирования без написания запросов.

Вы можете использовать Profiles Drilldown в Grafana Cloud или в вашем собственном экземпляре Grafana. Дополнительную информацию см. в разделе Доступ к Profiles Drilldown или его установка.

Главный экран Profiles Drilldown

Случаи использования

Существует несколько различных режимов просмотра, анализа и сравнения данных профилирования.

Основные случаи использования следующие:

  • Проактивные: сокращение затрат, решение проблем с задержками или оптимизация использования памяти для приложений
  • Реактивные: решение инцидентов с точностью до уровня строки или отладка активных проблем с задержками/памятью

Profiles Drilldown предоставляет интуитивный интерфейс для поддержки именно проактивных и реактивных случаев использования. Вы получаете целостное представление обо всех ваших службах и о том, как они функционируют, а также возможность углубиться для более целенаправленного анализа первопричин.

Profiles Drilldown предлагает удобную платформу для анализа профилей и получения сведений, которые невозможно получить при использовании других традиционных сигналов, таких как журналы, метрики или трассировка.

Give it a try using Grafana Play
Give it a try using Grafana Play

With Grafana Play, you can explore and see how it works, learning from practical examples to accelerate your development. This feature can be seen on the Grafana Play site.

Редактор запросов Pyroscope

Редактор запросов источника данных Pyroscope предоставляет доступ к селектору типа профиля, селектору меток и сворачиваемым параметрам.

Как и Profiles Drilldown, редактор запросов также предоставляет граф пламени для визуализации данных.

Редактор запросов

Чтобы получить доступ к редактору запросов:

  1. Войдите в Grafana или Grafana Cloud.

  2. Выберите ваш источник данных Pyroscope.

  3. В меню выберите Explore.

  4. Выберите тип профиля в раскрывающемся меню.

    Profile selector
    Profile selector
  5. Используйте поле ввода селектора меток для фильтрации по меткам. Pyroscope использует синтаксис, похожий на Prometheus, для фильтрации меток. О доступных операторах и синтаксисе см. Синтаксис селектора меток.

    Хотя селектор меток можно оставить пустым, чтобы запросить все профили без фильтрации по меткам, вы должны выбрать тип профиля или приложение, чтобы запрос был корректным.

    Grafana не показывает никаких данных, если тип профиля или приложение не выбрано при выполнении запроса.

    Селектор меток

  6. Разверните раздел Options, чтобы просмотреть доступные параметры запроса. Раздел Options

Синтаксис селектора меток

Селектор меток использует синтаксис, похожий на Prometheus. Заключайте один или несколько сопоставителей меток в фигурные скобки, разделяя их запятыми. Каждый сопоставитель объединяет имя метки, оператор и значение в двойных кавычках.

Селектор меток поддерживает следующие операторы.

Оператор Описание
= Выбирает метки, точно совпадающие со значением.
!= Выбирает метки, не совпадающие со значением.
=~ Выбирает метки, соответствующие регулярному выражению.
!~ Выбирает метки, не соответствующие регулярному выражению.

Следующие примеры показывают распространённые селекторы меток:

{service_name="my-service"}
{service_name="my-service", namespace="production"}
{service_name=~"cart.*"}
{service_name="checkout", namespace!="staging"}

Оставьте селектор меток пустым или установите его в {}, чтобы запросить все профили выбранного типа без фильтрации по меткам.

Параметры запроса

Раздел Options предоставляет следующие настройки.

Параметр Описание
Query Type Задаёт тип данных, возвращаемых запросом: Profile для данных графа пламени, Metric для данных временных рядов или Both. Вы можете выбрать Both только в Explore. Панели на дашбордах допускают только одну визуализацию.
Group by Группирует данные метрик по одной или нескольким меткам. Без метки Group by данные метрик агрегируются по всем меткам в один временной ряд. Group by применяется только к данным метрик и не изменяет результаты профилей.
Limit Задаёт максимальное количество возвращаемых временных рядов, когда задан Group by. Возвращаемые ряды всегда упорядочены по убыванию значения для суммарных агрегированных данных за период времени. Не применяется к запросам профилей.
Span ID Задаёт ID промежутка, по которому искать профили, чтобы вы могли просмотреть профиль, связанный с конкретным промежутком трассировки. Эта опция поддерживает Trace to profiles, например 64f170a95f537095.
Max Nodes Задаёт максимальное количество узлов, отрисовываемых на графе пламени. Более низкие значения повышают производительность для больших профилей за счёт агрегации меньших узлов. Заполнитель поля показывает значение по умолчанию — 16384.
Annotations Включает аннотации профилирования, такие как события выборки и ограничения, в результаты временных рядов. Используйте эти аннотации, чтобы определить, когда Pyroscope уменьшил или ограничил приём данных для службы.

Выберите тип запроса, чтобы вернуть данные профилей. Данные отображаются в графе пламени, данные метрик визуализируются на графике, либо и то и другое.

Используя Group by, вы можете группировать данные метрик по указанной метке. Вы можете использовать несколько меток для группировки.

В сочетании с Group by вы можете задать положительное число в поле Limit, чтобы ограничить максимальное количество временных рядов, возвращаемых источником данных.

Экземпляры (Exemplars)

Когда включена функция profilesExemplars, в разделе Options появляется переключатель Exemplars. Экземпляры связывают отдельные образцы профилей с точками на графике метрик, позволяя переходить от всплеска во временном ряду к конкретному профилю, который его создал.

Функция profilesExemplars общедоступна и включена по умолчанию.

Тепловая карта

Когда включена функция profilesHeatmap, в разделе Options появляется переключатель Heatmap. Тепловая карта визуализирует распределение образцов профилей во времени, что помогает выявлять закономерности и выбросы среди множества профилей.

Когда вы включаете Heatmap, используйте опцию Heatmap Type, чтобы выбрать, как агрегируются образцы:

  • Individual: показывает отдельные образцы профилей.
  • Span: агрегирует образцы по длительности промежутка, для использования с Trace to profiles.

Note

Функция profilesHeatmap экспериментальная. Экспериментальные функции могут изменяться и быть удалены в будущем релизе. Включите её с помощью флага функции profilesHeatmap.

Имена меток UTF-8

Когда включена функция pyroscopeUTF8LabelNames, селектор меток поддерживает имена меток UTF-8. Заключайте имена меток, содержащие такие символы, как точки, в двойные кавычки, например {"k8s.namespace"="production"}.

Функция pyroscopeUTF8LabelNames находится в публичном предварительном просмотре и включена по умолчанию.

Примеры запросов

Следующие примеры показывают распространённые способы построения запросов в редакторе запросов. Каждый пример перечисляет тип профиля для выбора и селектор меток для ввода.

Исследование высокого использования ЦП для службы:

Выберите тип профиля process_cpu:cpu:nanoseconds:cpu:nanoseconds и отфильтруйте по затронутой службе:

{service_name="checkout"}

Установите Query Type в Both в Explore, чтобы просмотреть граф пламени ЦП рядом с временным рядом использования ЦП.

Сравнение выделения памяти между средами:

Выберите тип профиля memory:alloc_space:bytes:space:bytes, установите Query Type в Metric и установите Group by в namespace:

{service_name="cart"}

График метрик показывает отдельный временной ряд для каждого пространства имён, что позволяет сравнивать поведение выделения памяти между средами, такими как production и staging.

Анализ роста горутин:

Выберите тип профиля goroutine:goroutine:count:goroutine:count, чтобы изучить количество горутин и то, где они создаются:

{service_name=~"api.*"}

Просмотр профиля для конкретного промежутка трассировки:

Выберите тип профиля, установите Query Type в Profile и введите ID промежутка в поле Span ID, например 64f170a95f537095. Граф пламени затем показывает только данные профиля, связанные с этим промежутком. Этот пример поддерживает Trace to profiles.

Результаты запроса профилей

Профили можно визуализировать на графе пламени. Ознакомьтесь с документацией по графу пламени, чтобы узнать о визуализации и её возможностях.

Граф пламени

Pyroscope возвращает профили, агрегированные за выбранный диапазон времени. Абсолютные значения на графе пламени растут с увеличением диапазона времени, при этом относительные значения остаются осмысленными. Вы можете увеличить масштаб диапазона времени, чтобы получить профиль с более высокой детализацией вплоть до одного интервала сбора.

Результаты запроса метрик

Результаты метрик представляют агрегированное суммарное значение выбранного типа профиля во времени.

График метрик

Это позволяет быстро увидеть любые всплески значения собираемых профилей и увеличить масштаб конкретного диапазона времени.

Дальнейшие шаги