Создание составного графа процентилей распределения площадей в Google Cloud Monitoring

Я создал метрику на основе журналов, используя журналы, хранящиеся в Google Cloud Журналы на основе продолжительности HTTP-ответа. Мне нужен график, показывающий сложенные области для 50-го, 95-го и 99-го процентилей.

Я читал документацию Google Cloud Monitoring по различным диаграммам, и хотя я могу получить любую отдельную метрику для отображения в виде процентиля; Кажется, у меня не получается сложить все три процентиля одновременно.

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

Я также могу отобразить все три линии, если выберу диаграмму «Тепловая карта» с выравниванием сумма или дельта и нажму кнопку «скрыть тепловую карту» на диаграмме в метриках. исследователь.

Это очень распространенный способ визуализации процентилей распределения, поэтому я думаю, что это должно быть возможно (можно отредактировать направление запроса, чтобы включить несколько процентилей), поэтому любая помощь приветствуется.

Сведения о метрике:

Тип: Распределение

Фильтр: logName = "projects / lv-server-1 / logs / tail-logs" И jsonPayload.httpRequest: *

Единицы: s

Имя поля: jsonPayload.duration

Ярлыки:

  • "status, INTEGER, jsonPayload.status"
  • 'content_type, STRING, jsonPayload.resp_headers. "Content-Type"'

Сегменты гистограммы:

  • Тип: Exponential
  • Количество сегментов: 64
  • Коэффициент экспоненциального роста: 2,0
  • Линейный масштаб: .00005
0
задан 3 July 2021 в 11:39
1 ответ

Я нашел то, что кажется ответом на stackoverflow, после прочтения документации по языку запросов мониторинга.

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

По сути, вы создаете таблицу процентилей на основе данных о задержке, а затем передаете ее в union_group_by :

 fetch global :: logging.googleapis.com/user/my_metrics.response_time | {{1 }} {
percentile_from 50 | add [p: "50-й процентиль"] 
; 
процентиль_от 90 | add [p: "90-й процентиль"] 
; 
процентиль_из 95 | add [p: "95-й процентиль"] 
 | 
union_group_by [p] 
 

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

1
ответ дан 28 July 2021 в 14:06

Теги

Похожие вопросы