Трейсинг запросов
Помимо логирования событий, на платформе можно проводить трассировку запросов. Для этого необходимо получить идентификатор запроса к данным виджета, который поможет найти все логи, связанные с этим запросом. Чтобы сделать это, выполните следующие шаги:
Откройте дашборд и нажмите F12, чтобы открыть консоль разработчика.
Обновите страницу дашборда.
Перейдите на вкладку Сеть в консоли разработчика.
Найдите запрос с названием файла
by-data-query
и щелкните по нему:
Данную строку будет проще найти, если отсортировать записи в поле Временная шкала – у нее будет максимальное значение.В параметрах запроса перейдите на вкладку Заголовки и найдите traceparent в разделе Заголовки запроса:
traceparent содержит идентификатор запроса, который вы можете использовать для поиска логов, связанных с этим запросом. На скриншоте выше идентификатором является
70ce0c225c4419ad88d5743af4ff0c78
.Скопируйте идентификатор запроса (в нашем примере это
70ce0c225c4419ad88d5743af4ff0c78
).В веб-браузере перейдите по адресу
http://<platform-address>/v3/grafana
, где<platform-address>
– IP-адрес или доменное имя вашего сервера.На открывшейся странице нажмите Home → Explore в левой стороне экрана:
В открывшемся окне выберите Tempo в выпадающем меню в левом верхнем углу:
Вставьте скопированный идентификатор в строку ввода и нажмите Run query в правом верхнем углу:
Отобразится вся цепочка запросов, которую вы сможете проанализировать и узнать сколько времени было потрачено на каждый запрос:
Для просмотра всех логов, связанных с запросом этого виджета, необходимо сделать следующее:
В выпадающем меню выберите Loki (используется для просмотра логов) и переключитесь на Code в правой стороне экрана:
В строке ввода введите следующий запрос и нажмите Run query в правом верхнем углу:
{exporter="OTLP"} |= "70ce0c225c4419ad88d5743af4ff0c78" | json | line_format "{{.body}}"
где –"70ce0c225c4419ad88d5743af4ff0c78"
– идентификатор запроса;| json | line_format "{{.body}}"
– выводит информацию в формате JSON и отображает данные, содержащиеся в теле запроса, что облегчает восприятие записей лога:Система отобразит все логи, касающиеся этого запроса виджета:
Среди прочего, вы сможете найти здесь, например, DAX-запрос, сгенерированный виджетом:DAX query: EVALUATE TOPN(500, SUMMARIZECOLUMNS('dimproduct'[brandname],"salesquantity",SUM('factonlinesales'[salesquantity])) , 'dimproduct'[brandname], ASC, [salesquantity], ASC ) ORDER BY 'dimproduct'[brandname] ASC, [salesquantity] ASC
Смотрите также