Помимо логирования событий, на платформе можно проводить трассировку запросов. Для этого необходимо получить идентификатор запроса к данным виджета, который поможет найти все логи, связанные с этим запросом. Чтобы сделать это, выполните следующие шаги:
Откройте дашборд и нажмите 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