Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
С помощью диагностики запросов вы можете лучше понять, что делает Power Query при разработке и во время обновления в Power BI Desktop. Хотя мы будем расширять эту функцию в будущем, включая добавление возможности использовать его во время полного обновления, в настоящее время вы можете использовать его, чтобы понять, какие запросы вы создаете, какие замедления могут возникнуть во время обновления разработки, и какие фоновые события происходят.
Чтобы использовать диагностику запросов, перейдите на вкладку "Сервис " на ленте редактора Power Query.
По умолчанию для выполнения диагностики запросов могут потребоваться права администратора (в зависимости от ИТ-политики). Если вы не можете запустить диагностику запросов, откройте страницу параметров Power BI Desktop и на вкладке "Диагностика" выберите "Включить в редакторе запросов" (не требуется запуск от имени администратора). Этот выбор ограничивает возможность трассировки диагностики при выполнении полного обновления в Power BI вместо редактора Power Query. Но все же позволяет использовать его при предварительном просмотре, создании контента и так далее.
При запуске диагностики Power Query начинает трассировку любых вычислений, которые вы вызываете. Оценка, которую большинство пользователей представляют себе, происходит, когда вы нажимаете кнопку обновления или когда вы впервые получаете данные. Но есть много действий, которые могут привести к оценке в зависимости от соединителя. Например, с коннектором SQL, когда вы получаете список значений для фильтрации, это также запускает оценку, но она не связывается с пользовательским запросом, что отображается в диагностике. Другие системные запросы могут включать навигатор или возможность получения данных.
При нажатии клавиши "Диагностика шага" Power Query выполняет специальную оценку только того шага, на который вы смотрите. Затем он показывает диагностику для этого шага, не отображая диагностику для других шагов в запросе. Эта оценка может значительно упростить получение узкого представления о проблеме.
Важно, чтобы при записи всех данных из Начать диагностику, вы нажали Остановить диагностику. Остановка диагностики позволяет модулю собирать записанные трассировки и анализировать их, выводя в надлежащем формате. Без этого шага следы теряются.
Типы диагностики
В настоящее время мы предоставляем три типа диагностики, один из которых имеет два уровня детализации.
Первое из этих диагностических данных — это основная диагностика, которая содержит подробное представление и сводное представление. Сводное представление предназначено для того, чтобы вы могли быстро понять, где тратится время в вашем запросе. Подробное представление гораздо глубже, построчно и, как правило, требуется только для серьезной диагностики опытными пользователями.
В этом представлении некоторые возможности, такие как столбец "Запрос источника данных", в настоящее время доступны только для определенных соединителей. Мы будем работать над расширением охвата в будущем.
Разделы конфиденциальности данных обеспечивают лучшее понимание логических секций, используемых для конфиденциальности данных.
Замечание
Power Query может выполнять оценки, которые, возможно, не были активированы напрямую. Некоторые из этих вычислений выполняются для получения метаданных, чтобы лучше оптимизировать наши запросы или обеспечить более удобный пользовательский интерфейс (например, получение списка различных значений в столбце, отображаемом в интерфейсе фильтрации строк). Другие могут быть связаны с тем, как соединитель обрабатывает параллельные оценки. В то же время, если вы видите в диагностике запросов повторяющиеся запросы, которые не кажутся вам логичными, вы можете обратиться через обычные каналы поддержки — ваши отзывы помогают нам улучшить продукт.
Обобщенное и подробное представление
Диагностика запросов предоставляет два представления: обобщенные и подробные. Сводное представление объединяет несколько связанных операций в одну операцию. В этом процессе данные, собранные каждой операцией, объединяются, и суммируются эксклюзивные сроки. Никакие сведения не теряются в рамках этого процесса.
В сводном представлении представлен обзор того, что произошло во время оценки для простой высокоуровневой проверки. Если для конкретной операции требуется дополнительная разбивка, можно просмотреть идентификатор группы и просмотреть соответствующие операции, сгруппированные в представлении подробностей.
Объяснение нескольких оценок
Когда обновление происходит в редакторе Power Query, многое делается за кулисами, чтобы попытаться обеспечить простой пользовательский интерфейс. Например, при обновлении предварительной версии средство оценки выполняет последний шаг каждого заданного запроса. Но затем в фоновом режиме он последовательно выполняет n-1 шаги, n-2, шаги и т. д. Итак, если вернуться к предыдущим шагам, это уже доступно.
Чтобы обеспечить более высокую производительность, в настоящее время происходит кэширование для того чтобы не приходилось перезапускать каждую часть окончательного плана запроса, когда запрос проходит через этапы. Хотя это кэширование полезно для обычного создания контента, это приводит к тому, что вы не всегда получаете точную информацию для сравнения шагов из-за поздних оценок, извлекающих кэшированные данные.
Схема диагностики
Идентификатор
При анализе результатов записи важно отфильтровать сессию записи по идентификатору, чтобы столбцы, такие как Процент эксклюзивной длительности, имели смысл.
Идентификатор является составным. Он формируется из двух чисел — один до точки и один после. Первое число совпадает со всеми оценками, которые были результатом одного действия пользователя. Другими словами, если дважды нажать кнопку обновления страницы, перед точкой будут два разных числа, каждое для отдельного действия пользователя. Нумерация в данной записи диагностики идет по порядку.
Второе число представляет оценку двигателем. Это число является последовательностью на протяжении всего времени существования процесса, где оценка поставлена в очередь. При проведении нескольких сеансов диагностической записи это число продолжает увеличиваться с каждым новым сеансом.
Для краткого изложения: начните запись, однократно нажмите на кнопку оценки и остановите запись; в диагностике появится определённое количество идентификаторов. Но так как вы приняли только одно действие, они все 1.1, 1.2, 1.3 и т. д.
Сочетание activityId и evaluationId, разделенных точкой, предоставляет уникальный идентификатор для оценки одного сеанса записи.
Query
Имя запроса в левой области редактора Power Query.
Step
Имя шага в правой области редактора Power Query. Элементы, такие как раскрывающиеся списки фильтров, обычно ассоциированы с шагом, по которому выполняется фильтрация, даже если вы не обновляете этот шаг.
Категория
Категория операции.
Тип источника данных
Эти данные сообщают о том, к какому источнику данных вы подключаетесь, например, SQL или Oracle.
Операция
Фактическая операция, выполняемая. Эта операция может включать работу вычислителя, открытие подключений, отправку запросов в источник данных и многое другое.
Время запуска
Время запуска операции.
Время окончания
Время завершения операции.
Эксклюзивная длительность (%)
Столбец "Исключительная продолжительность" события представляет собой время, в течение которого событие было активно. Это контрастирует со значением "длительность", которое результатирует из вычитания значений в столбцах «Время начала» и «Время окончания». Это значение "длительность" представляет общее время, прошедшее между началом события и окончанием, которое может включать время, когда событие было приостановлено или неактивно, а другое событие потребляло ресурсы.
Эксклюзивная длительность % составляет около 100% в рамках данной оценки, что показано в столбце Id. Например, если фильтровать по строкам с Id 1.x, доля эксклюзивной длительности будет суммироваться примерно до 100%. Это не так, если суммируете значения эксклюзивной длительности % всех строк в заданной диагностической таблице.
Эксклюзивная длительность
Абсолютное время, а не %, эксклюзивной длительности. Общая длительность (т. е. монопольная длительность и время, когда событие неактивно) оценки можно вычислить одним из двух способов:
Найдите операцию с именем "Оценка". Разница между временем окончания и временем начала приводит к общей продолжительности события.
Вычтите минимальное время начала всех операций в событии из максимального времени окончания. В случаях, когда данные, собранные для события, не учитывают общую длительность, создается операция под названием "Пробелы трассировки" для компенсации этого промежутка времени.
Resource
Ресурс, к которому вы обращаетесь за данными. Точный формат этого ресурса зависит от источника данных.
Запрос источника данных
Power Query выполняет то, что называется сворачиванием, что означает выполнение наибольшего количества частей запроса непосредственно в источнике данных. В режиме DirectQuery (через Power Query), где включена функция, выполняются только те преобразования, которые могут быть свернуты. В режиме импорта преобразования, которые не могут сложиться, выполняются локально.
Столбец запроса источника данных позволяет просмотреть HTTP-запрос или ответ, отправленный в серверный источник данных. При создании запроса в редакторе создаются многочисленные запросы к источнику данных. Некоторые из этих запросов являются фактическим окончательным запросом источника данных для отображения предварительного просмотра. Но другие могут использоваться для профилирования данных, фильтров с выпадающим списком, информации о соединениях, получения метаданных для схем и любого количества других небольших запросов.
Как правило, вы не должны беспокоиться о количестве выполняемых запросов источника данных, если нет конкретных причин для беспокойства. Вместо этого следует сосредоточиться на том, чтобы убедиться, что извлекается правильное содержимое. Этот столбец также может помочь определить, была ли оценка Power Query полностью упрощена.
Дополнительные сведения
Есть много информации, полученной нашими соединителями. Большая часть этого разрозненная и не вписывается в стандартную иерархию столбцов. Эта информация помещается в запись в столбец 'Дополнительная информация'. Сведения, записанные из пользовательских соединителей, также отображаются здесь.
Число строк
Количество строк, возвращаемых запросом источника данных. Не включено во всех соединителях.
Длина содержимого
Длина содержимого, возвращаемая HTTP-запросами, как это обычно определяется. Эта схема не включена во всех соединителях и не является точной для соединителей, которые получают запросы в блоках.
Запрос от пользователя
Логическое значение, указывающее, является ли он запросом, созданным пользователем и представленным в левой области, или если он был создан другим действием пользователя. Другие действия пользователя могут включать такие вещи, как выбор фильтра или использование навигатора в интерфейсе получения данных.
Путь
Путь представляет относительный маршрут операции при просмотре в виде части дерева интервалов для всех операций в рамках одной оценки. На вершине дерева (корневая часть) есть одна операция под именем Оценка с путем "0". Время начала этой оценки соответствует началу всей оценки в целом. Время окончания этой оценки показывает, когда завершится вся оценка. Эта операция верхнего уровня имеет монопольную длительность 0, так как ее единственное назначение заключается в том, чтобы служить корнем дерева.
Дальнейшие операции ответвляются от корня. Например, операция может иметь "0/1/5" в качестве пути. Этот путь будет понят следующим образом:
- 0: корень дерева
- 1: родитель текущей операции
- 5: индекс текущей операции
Операция "0/1/5" может иметь дочерний узел, в этом случае путь имеет форму "0/1/5/8", где 8 представляет индекс дочернего узла.
Идентификатор группы
Объединение двух (или более) операций не происходит, если это приводит к потере сведений. Группирование предназначено для приблизительных "команд", выполняемых во время оценки. В подробном представлении несколько операций имеют общий идентификатор группы, соответствующий группам, агрегированным в представлении сводки.
Как и в большинстве столбцов, идентификатор группы актуален только в рамках определенной оценки, фильтруемой с помощью столбца "Идентификатор".
Схема секций конфиденциальности данных
Идентификатор
Совпадает с идентификатором для других результатов диагностики запросов. Целочисленная часть представляет один идентификатор действия, а дробная часть представляет одну оценку.
Ключ партиционирования
Соответствует запросу или шагу, используемому в качестве секции брандмауэра.
Группа брандмауэра
Классификация, объясняющая, почему эта секция должна оцениваться отдельно, включая сведения о уровне конфиденциальности секции.
Доступ к ресурсам
Список путей ресурсов для всех ресурсов, к которым обращается этот раздел, и, как правило, однозначно идентифицирует источник данных.
Входные данные для разделов
Список ключей секций, от которых зависит текущая секция (этот список можно использовать для построения графа).
Expression
Выражение, которое вычисляется поверх запроса или шага раздела. В нескольких случаях оно совпадает с запросом или шагом.
Время запуска
Время начала оценки для этого раздела.
Время окончания
Время окончания оценки для этого раздела.
Продолжительность
Значение, производное от времени окончания минус время начала.
Эксклюзивная длительность
Если предполагается, что разделы выполняются в одном потоке, то исключительная длительность — это "реальная" длительность, которую можно приписать этому разделу.
Эксклюзивная длительность %
Эксклюзивная длительность в процентах.
Diagnostics
Этот столбец отображается только в том случае, если диагностика запроса "Агрегированная" или "Подробная" также фиксируется, что позволяет пользователю сопоставить два вывода диагностики.
Схема счетчиков производительности
При запуске счетчиков производительности каждую половину секунды Power Query создает моментальный снимок использования ресурсов. Этот моментальный снимок не полезен для очень быстрых запросов, но может быть полезным для запросов, которые используют гораздо больше ресурсов.
время процессора %
Процент времени, затраченного процессорами на запрос. Этот процент может достичь выше 100% из-за нескольких процессоров.
Общее время процессора
Общая длительность времени процессора, затраченного на запрос.
Байты данных ввода-вывода в секунду
Скорость пропускной способности данных, полученная из источника данных, выраженная в байтах в секунду.
Объём обязательств (байты)
Объем виртуальной памяти, зарезервированной при оценке.
Рабочий набор (байты)
Объем памяти, зарезервированный оценкой.