Partilhar via


Diagnóstico de consultas

Com os Diagnósticos de Consultas, podes obter uma melhor compreensão do que o Power Query está a fazer no momento da criação e no momento da atualização no Power BI Desktop. Embora planeemos expandir esta funcionalidade no futuro, incluindo a adição da capacidade de a utilizar durante as atualizações completas, neste momento pode usá-la para compreender que tipo de consultas está a emitir, que lentidão poderá encontrar durante a atualização de autoria e que tipo de eventos em segundo plano estão a ocorrer.

Para usar o Diagnóstico de Consultas, vá ao separador Ferramentas na faixa do editor Power Query.

Captura de ecrã das funcionalidades de diagnóstico de consultas na fita do Power Query Tools.

Por padrão, o Diagnóstico de Consultas pode exigir direitos administrativos para ser executado (dependendo da política de TI). Se não conseguir executar o Diagnóstico de Consultas, abra a página de opções do Power BI Desktop e, no separador Diagnósticos, selecione Ativar no Editor de Consultas (não é necessário executar como administrador). Esta seleção impede-te de conseguir rastrear diagnósticos ao fazer uma atualização completa no Power BI em vez do editor Power Query. Mas permite que continues a usá-lo ao fazer pré-visualizações, produção de conteúdo, e assim por diante.

Captura de ecrã das opções de Diagnóstico de Consultas com a opção Ativar no Editor de Consultas enfatizada.

Sempre que inicia o diagnóstico, o Power Query começa a rastrear quaisquer avaliações que você realize. A avaliação que a maioria dos utilizadores considera é quando carrega em atualizar, ou quando recupera dados pela primeira vez. Mas há muitas ações que podem causar avaliações, dependendo do conector. Por exemplo, com o conector SQL, quando recuperas uma lista de valores para filtrar, isso também inicia uma avaliação — mas não se associa a uma consulta do utilizador, e isso está representado no diagnóstico. Outras consultas geradas pelo sistema podem incluir o navegador ou a experiência de obtenção de dados.

Quando clica em Diagnosticar Passo, o Power Query executa uma avaliação especial apenas do passo que está a analisar. Depois mostra-te os diagnósticos desse passo, sem te mostrar os diagnósticos dos outros passos da consulta. Esta avaliação pode facilitar muito a obtenção de uma visão mais restrita de um problema.

É importante que, se estiver a gravar todos os traços do Start Diagnostics, pressione Stop diagnostics. Parar o diagnóstico permite ao motor recolher as pistas registadas e analisá-las na saída correta. Sem este passo, perdem-se vestígios.

Tipos de diagnóstico

Atualmente fornecemos três tipos de diagnóstico, um dos quais tem dois níveis de detalhe.

O primeiro destes diagnósticos são os primários, que têm uma visão detalhada e uma visão resumida. A perspetiva resumida destina-se a dar-lhe uma visão imediata de onde o tempo está a ser gasto na sua consulta. A visão detalhada é muito mais profunda, linha a linha, e é, em geral, necessária apenas para diagnósticos sérios por utilizadores avançados.

Para esta visão, algumas funcionalidades, como a coluna Data Source Query (Consulta à Fonte de Dados), estão atualmente disponíveis apenas em certos conectores. Vamos trabalhar para alargar esta cobertura no futuro.

As partições de privacidade de dados proporcionam-lhe uma melhor compreensão das partições lógicas usadas para a privacidade dos dados.

Observação

O Power Query pode realizar avaliações que talvez não tenha ativado diretamente. Algumas destas avaliações são realizadas para recuperar metadados e assim otimizarmos melhor as nossas consultas ou para proporcionar uma melhor experiência ao utilizador (como recuperar a lista de valores distintos dentro de uma coluna que são exibidos na experiência de Filter Rows). Outros podem estar relacionados com a forma como um conector lida com avaliações paralelas. Ao mesmo tempo, se vir nos seus diagnósticos de consulta consultas repetidas que considere incoerentes, não hesite em contactar através dos canais de suporte habituais—o seu feedback é a forma como melhoramos o nosso produto.

Visão resumida vs. vista detalhada

O diagnóstico de interrogações oferece duas perspetivas: resumida e detalhada. A visão resumida "agrega" múltiplas operações relacionadas numa única operação. Neste processo, os detalhes recolhidos por cada operação são combinados e as durações exclusivas são somadas. Nenhuma informação se perde como parte deste processo.

A perspetiva resumida fornece uma visão geral do que aconteceu durante uma avaliação para uma revisão de alto nível fácil. Se for necessária uma divisão adicional para uma operação específica, pode consultar o ID do grupo e visualizar as operações correspondentes que foram agrupadas na vista de detalhes.

Explicação de múltiplas avaliações

Quando ocorre uma atualização no editor Power Query, há muito a fazer nos bastidores para tentar proporcionar uma experiência de utilizador fluente. Por exemplo, ao atualizar a Pré-visualização, o avaliador executa o passo final de cada Consulta dada. Mas depois, em segundo plano, executa sequencialmente n-1 etapas, n-2 etapas, e assim sucessivamente. Portanto, se recuares nos teus passos, já está disponível.

Para proporcionar maior desempenho, atualmente ocorre algum armazenamento em cache para que não tenha de reexecutar todas as partes do plano final de consulta à medida que passa pelos passos. Embora esta cache seja útil para a criação de conteúdo normal, significa que nem sempre obtém a informação correta de comparação de passos devido a avaliações posteriores que utilizam dados em cache.

Esquema de diagnóstico

Id

Ao analisar os resultados de uma gravação, é importante filtrar a sessão de gravação por Id, para que colunas como Duração Exclusiva % façam sentido.

Id é um identificador composto. É formado por dois números — um antes do ponto e outro depois. O primeiro número é o mesmo para todas as avaliações que resultaram de uma única ação do utilizador. Ou seja, se carregar no botão atualizar duas vezes, há dois números diferentes antes do ponto, um para cada atividade que o utilizador realizar. Esta numeração é sequencial para um dado registo de diagnóstico.

O segundo número representa uma avaliação pelo motor. Este número é sequencial durante toda a vida útil do processo onde a avaliação é colocada em fila. Se realizar várias sessões de gravação de diagnóstico, este número continua a crescer ao longo das diferentes sessões.

Resumindo, se começares a gravar, carregares em avaliação uma vez e parares de gravar, um certo número de Ids aparece nos teus diagnósticos. Mas como só fizeste uma ação, todas são 1.1, 1.2, 1.3, e assim sucessivamente.

A combinação do activityId e do evaluationId, separados pelo ponto, fornece um identificador único para a avaliação de uma única sessão de gravação.

Query

O nome da Consulta está no painel esquerdo do editor Power Query.

Step

O nome da etapa encontra-se no painel direito do editor Power Query. Coisas como os dropdowns do filtro geralmente associam-se ao passo em que filtras, mesmo que não estejas a atualizar o passo.

Categoria

A categoria da operação.

Tipo de fonte de dados

Estes dados dizem-lhe que tipo de fonte de dados está a aceder, como SQL ou Oracle.

Funcionamento

A operação propriamente dita está a ser realizada. Esta operação pode incluir trabalho com avaliadores, abertura de ligações, envio de consultas à fonte de dados e muito mais.

Hora de início

A hora em que a operação começou.

Hora de fim

A hora em que a operação terminou.

Duração exclusiva (%)

A coluna Duração Exclusiva de um evento indica o tempo em que o evento esteve ativo. Isto contrasta com o valor de "duração" que resulta da subtração dos valores na coluna de Hora de Início e na coluna de Hora de Fim de um evento. Este valor de "duração" representa o tempo total decorrido entre o início e o fim de um evento, podendo incluir momentos em que o evento esteve suspenso ou inativo e outro evento consumiu recursos.

A duração exclusiva % soma aproximadamente 100% dentro de uma dada avaliação, representada pela coluna Id. Por exemplo, se filtrar as linhas com ID 1.x, as percentagens de Duração Exclusiva somariam aproximadamente a 100%. Isto não acontece se somar os valores de Duração Exclusiva % de todas as linhas numa dada tabela de diagnóstico.

Duração exclusiva

O tempo absoluto, em vez de %, de duração exclusiva. A duração total (ou seja, duração exclusiva + tempo em que o evento esteve inativo) de uma avaliação pode ser calculada de duas formas:

  • Encontre a operação chamada "Avaliação." A diferença entre Hora de Fim e Hora de Início resulta na duração total de um evento.

  • Subtrai o tempo mínimo de início de todas as operações de um evento do tempo máximo de fim. Nos casos em que a informação recolhida para um evento não tem em conta a duração total, é gerada uma operação chamada "Trace Gaps" para compensar esse intervalo temporal.

Resource

O recurso a que está a aceder para obter dados. O formato exato deste recurso depende da fonte de dados.

Consulta à fonte de dados

O Power Query faz algo chamado folding, que consiste em executar o maior número possível de partes da consulta na fonte de dados do back-end. No modo DirectQuery (sobre o Power Query), quando ativado, apenas as transformações que podem ser aplicadas são executadas. No modo de importação, as transformações que não podem foldar são executadas localmente.

A coluna Data Source Query permite-lhe ver a consulta ou o pedido/resposta HTTP enviado contra a fonte de dados do back-end. Enquanto redige a sua Query no editor, muitas Consultas de Fonte de Dados são executadas. Algumas destas consultas são a Consulta final de Fonte de Dados para renderizar a pré-visualização. Mas outras podem ser para perfilagem de dados, dropdowns de filtros, informação sobre joins, recuperação de metadados para esquemas e qualquer número de outras pequenas consultas.

Em geral, não deve preocupar-se com o número de Consultas de Fonte de Dados emitidas, a menos que existam razões específicas para se preocupar. Em vez disso, deve concentrar-se em garantir que o conteúdo correto está a ser recuperado. Esta coluna pode também ajudar a determinar se a avaliação do Power Query foi totalmente dobrada.

Informação adicional

Há muita informação recuperada pelos nossos conectores. Grande parte disso está desalinhada e não encaixa bem numa hierarquia padrão de colunas. Esta informação é colocada num registo na coluna de informações adicionais. Informações registadas a partir de conectores personalizados também aparecem aqui.

Contagem de linhas

O número de linhas devolvidas por uma Consulta de Fonte de Dados. Não está ativado em todos os conectores.

Extensão do conteúdo

Comprimento de conteúdo devolvido pelos Pedidos HTTP, conforme definido comumente. Este esquema não está ativado em todos os conectores, nem é preciso para conectores que recuperam pedidos em blocos.

É a consulta do utilizador

Um valor booleano que indica se é uma consulta criada pelo utilizador e presente no painel esquerdo, ou se foi gerada por alguma outra ação do utilizador. Outras ações do utilizador podem incluir coisas como seleção de filtros ou usar o navegador na experiência de obter dados.

Caminho

Path representa a rota relativa da operação quando vista como parte de uma árvore de intervalos para todas as operações dentro de uma única avaliação. No topo (raiz) da árvore, existe uma única operação chamada Evaluation com o caminho "0". A hora de início desta avaliação corresponde ao início da avaliação como um todo. A hora final desta avaliação mostra quando toda a avaliação terminou. Esta operação de topo tem uma duração exclusiva de 0, pois o seu único propósito é servir como raiz da árvore.

Outras operações ramificam-se a partir da raiz. Por exemplo, uma operação pode ter "0/1/5" como caminho. Este caminho seria entendido como:

  • 0: raiz da árvore
  • 1: Parente da operação atual
  • 5: índice de operação atual

A operação "0/1/5" pode ter um subnó, caso em que o caminho tem a forma "0/1/5/8", onde 8 representa o índice do subnó.

ID do grupo

Combinar duas (ou mais) operações não ocorre se isso levar à perda de detalhes. O agrupamento é concebido para aproximar os "comandos" executados durante a avaliação. Na vista detalhada, múltiplas operações partilham um ID de Grupo, correspondente aos grupos que são agregados na vista Resumo.

Como acontece com a maioria das colunas, o ID do grupo só é relevante dentro de uma avaliação específica, filtrada pela coluna Id.

Esquema de partições de privacidade de dados

Id

Igual ao ID para os outros resultados de diagnóstico da consulta. A parte inteira representa um único ID de atividade, enquanto a parte fracionária representa uma única avaliação.

Chave de partição

Corresponde ao Query/Step que é usado como partição de firewall.

Grupo de firewall

Categorização que explica porque é que esta partição tem de ser avaliada separadamente, incluindo detalhes sobre o nível de privacidade da partição.

Recursos acedidos

Lista de caminhos de recursos para todos os recursos acedidos por esta partição, e em geral identifica de forma única uma fonte de dados.

Entradas de partição

Lista de chaves de partição das quais a partição atual depende (esta lista pode ser usada para construir um grafo).

Expression

A expressão que é avaliada no topo da consulta/passo da partição. Em vários casos, coincide com a consulta/passo.

Hora de início

O momento em que a avaliação começou para esta partição.

Hora de fim

Hora em que a avaliação terminou para esta partição.

Duração

Um valor derivado de End Time menos Hora de Início.

Duração exclusiva

Se se assume que as partições são executadas num único thread, a duração exclusiva é a duração "real" que pode ser atribuída a esta partição.

Duração exclusiva %

Duração exclusiva como percentagem.

Diagnóstico

Esta coluna só aparece quando os diagnósticos de consulta "Agregado" ou "Detalhado" também são capturados, permitindo ao utilizador identificar a correspondência entre as duas saídas de diagnóstico.

Esquema de contadores de desempenho

Quando executa contadores de desempenho, a cada meio segundo o Power Query tira um instantâneo da utilização de recursos. Este snapshot não é útil para consultas muito rápidas, mas pode ser útil para consultas que consomem muito mais recursos.

% tempo de processamento

Percentagem do tempo gasto pelos processadores na consulta. Esta percentagem pode ultrapassar os 100% devido a múltiplos processadores.

Tempo total de processamento

Duração total do tempo de processamento gasto na consulta.

Bytes de dados de E/S por segundo

Taxa de transferência dos dados recebidos da fonte de dados, expressa em bytes por segundo.

Compromisso (bytes)

Quantidade de memória virtual reservada pela avaliação.

Conjunto de trabalho (bytes)

Quantidade de memória reservada pela avaliação.