Поделиться через


Визуализация и интерпретация диагностики запросов в Power BI

Введение

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

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

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

Как упоминание в нашей статье о записи диагностика, я работаю с трассировками OData и SQL для той же таблицы (или почти так) — таблица Customers из Northwind. В частности, я собираюсь сосредоточиться на общем запросе от наших клиентов, и один из более простых для интерпретации наборов трассировок: полное обновление модели данных.

Создание визуализаций

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

Для второй визуализации один из вариантов — использовать гистограмму с накоплением. В параметре "Ось" может потребоваться использовать идентификатор или шаг. Если мы смотрим на обновление, потому что это не имеет ничего, что связано с шагами в самом редакторе, мы, вероятно, просто хотим посмотреть на "Идентификатор". Для параметра "Условные обозначения" следует задать "Категория" или "Операция" (в зависимости от детализации, которую требуется). Для параметра Value задайте значение "Эксклюзивная длительность" (и убедитесь, что это не % для получения необработанного значения длительности). Наконец, для подсказки задайте значение "Самое раннее время начала".

После создания визуализации убедитесь, что вы сортируете по возрастанию "Самое раннее время начала", чтобы вы могли видеть порядок вещей.

Визуализация сведений и агрегирования времени.

Хотя ваши точные потребности могут отличаться, это сочетание диаграмм является хорошим местом для начала поиска многочисленных диагностика файлов и для ряда целей.

Интерпретация визуализаций

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

Спрашивая, как время тратится легко, и будет аналогично большинству соединителей. Предупреждение с диагностика запроса, как упоминание в другом месте, заключается в том, что вы увидите резко разные возможности в зависимости от соединителя. Например, многие соединители на основе ODBC не будут иметь точную запись того, какой запрос отправляется в фактическую серверную систему, так как Power Query видит только то, что он отправляет драйверу ODBC.

Если мы хотим узнать, как тратится время, мы можем просто посмотреть на визуализации, которые мы создали выше.

Теперь, поскольку значения времени для примеров запросов, которые мы используем здесь, настолько малы, если мы хотим работать с тем, как Power BI сообщает время, лучше, если мы преобразуем столбец эксклюзивной длительности в "Секунды" в редакторе Power Query. Как только мы сделаем это преобразование, мы можем посмотреть на нашу диаграмму и получить достойное представление о том, где тратится время.

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

Сводка по диагностике запросов OData Northwind.

Если выполнять все одни и те же операции и создавать аналогичные визуализации, но с трассировками SQL вместо ODATA, мы можем увидеть, как сравниваются два источника данных!

Сводка по диагностике запросов OData Northwind с трассировками SQL.

Если выбрать таблицу источника данных, как и в диагностика ODATA, мы можем увидеть первую оценку (2.3 на этом изображении) выдает запросы метаданных, а вторая оценка фактически извлекает нужные данные. Так как мы извлекаем небольшие объемы данных в этом случае, данные, отнимаемые в этом случае, занимают небольшое время (менее десяти секунды для всей второй оценки, с менее чем двадцатой секундой для извлечения данных), но это не будет верно во всех случаях.

Как описано выше, можно выбрать категорию "Источник данных" в условных обозначениях, чтобы просмотреть созданные запросы.

Анализ данных

Глядя на пути

При просмотре этого, если кажется, что время потрачено странно, например, в запросе OData может появиться запрос источника данных со следующим значением:

Request:
https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle%20eq%20%27Sales%20Representative%27&$select=CustomerID%2CCountry HTTP/1.1
Content-Type: application/json;odata.metadata=minimal;q=1.0,application/json;odata=minimalmetadata;q=0.9,application/atomsvc+xml;q=0.8,application/atom+xml;q=0.8,application/xml;q=0.7,text/plain;q=0.7

<Content placeholder>

Response:
Content-Type: application/json;odata.metadata=minimal;q=1.0,application/json;odata=minimalmetadata;q=0.9,application/atomsvc+xml;q=0.8,application/atom+xml;q=0.8,application/xml;q=0.7,text/plain;q=0.7
Content-Length: 435

<Content placeholder>

Этот запрос источника данных связан с операцией, которая занимает только 1% от эксклюзивной длительности. Между тем, есть аналогичный:

Request:
GET https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry HTTP/1.1

Response:
https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry
HTTP/1.1 200 OK

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

Это экстремальные значения, но они находятся в пределах того, что может быть видно.