Detalhes da execução

O Dataflow fornece uma guia de Detalhes da execução na interface de usuário de monitoramento baseada na Web. Use as informações nessa guia para otimizar o desempenho dos jobs e diagnosticar por que o job está lento ou travado. Depois de iniciar o job, é possível visualizar a guia Detalhes da execução usando a UI de monitoramento do Dataflow. Para mais informações, consulte Como acessar a interface de monitoramento do Dataflow.

Esse recurso não gera outros usos de CPU ou rede para suas VMs. Os detalhes da execução são coletados pelo sistema de monitoramento de back-end do Dataflow, que não afeta o desempenho do job.

Esta página fornece um resumo de alto nível do recurso de detalhes de execução e o layout da interface do usuário. Para mais informações sobre solução de problemas, consulte Solução de problemas e depuração de pipelines.

Quando usar os detalhes de execução

Veja a seguir cenários comuns para usar detalhes de execução ao executar jobs do Dataflow:

  • O pipeline está parado, e você quer resolver o problema.
  • O pipeline está lento e você quer segmentar a otimização dele.
  • Nada precisa ser corrigido, mas você quer ver os detalhes da execução do pipeline para entender o job.

Terminologia

Para usar os detalhes de execução de forma eficaz, é útil entender como os seguintes conceitos se aplicam aos jobs do Dataflow.

Terminologia do Dataflow

  • Otimização de fusão: o processo de mesclar várias etapas ou transformações do Dataflow. Esse processo otimiza os pipelines enviados pelo usuário. Para mais informações, consulte Otimização de fusão.
  • Estágios: a unidade de etapas fundidas nos pipelines do Dataflow.
  • Último estágio: o nó final nos pipelines do Dataflow. Um pipeline pode ter vários nós finais.

Terminologia de lote

  • Caminhos críticos: a sequência de estágios de um pipeline que contribuíram para o ambiente de execução geral do job. Por exemplo, essa sequência exclui os seguintes estágios:
    • Ramificações do pipeline finalizado antes do job de modo geral.
    • Entradas que não atrasaram o processamento downstream.
  • Workers: instâncias de VM do Compute Engine que executam um job do Dataflow.
  • Itens de trabalho: as unidades de trabalho que correspondem a um pacote selecionado pelo Dataflow.

Terminologia de streaming

  • Atualização de dados: é o tempo entre o tempo real e a marca-d'água de saída. Mais informações podem ser encontradas em Atualização de dados.

Usar a guia "Detalhes da execução"

A guia Detalhes da execução inclui quatro visualizações: Progresso da etapa, Painel de informações da etapa (em Progresso da etapa), Fluxo de trabalho da etapa e Progresso do worker.

A visualização Fluxo de trabalho do cenário é ativada automaticamente para todos os jobs de lote e de streaming. Os jobs em lote e de streaming também têm a visualização de Progresso do estágio, e os jobs em lote têm uma visualização de Progresso do worker adicional.

Nesta seção, mostramos cada visualização e fornecemos exemplos de jobs do Dataflow bem-sucedidos e mal-sucedidos.

Progresso do estágio para jobs em lote

A visualização Progresso do estágio dos jobs em lote mostra os estágios da execução do job, organizados pelos horários de início e de término. O período é representado por uma barra. Por exemplo, você pode identificar visualmente os estágios mais longos de um pipeline encontrando a barra mais longa.

Em cada uma das barras, um minigráfico mostra o progresso do estágio ao longo do tempo. Para destacar os estágios que contribuíram para o ambiente de execução geral do job, clique no botão Caminho crítico. Além disso, você pode usar a opção Filtrar fases para selecionar apenas as fases de seu interesse.

Um exemplo da visualização de progresso do cenário para jobs em lote que mostra uma visualização do período de seis estágios de execução diferentes.

Progresso do estágio para jobs de streaming

A visualização Progresso do estágio dos jobs de streaming pode ser dividida em duas seções. A primeira metade da visualização mostra um gráfico que representa a atualização de dados para cada estágio de execução do job. Passe o cursor sobre o gráfico para conferir o valor da atualização de dados no momento mais específico.

A segunda metade da visualização mostra os estágios de execução do job, organizados em uma ordem topológica. As etapas sem estágios descendentes são mostradas primeiro, seguidas pelos descendentes. Essa visualização facilita a identificação dos estágios de um pipeline que levam mais tempo do que o esperado. As barras são dimensionadas de acordo com a atualização de dados mais longa de todo o domínio.

Os jobs de streaming são executados até serem cancelados, drenados ou atualizados.

  • Use o seletor de tempo mostrado com o gráfico para definir o escopo do domínio para um intervalo de tempo mais útil.
  • Use o menu Filtrar fases para selecionar as fases de seu interesse.

A visualização Progresso do estágio ajuda a identificar quando o job de streaming está lento ou travado de duas maneiras diferentes:

  • O gráfico Atualização de dados por etapas inclui a detecção de anomalias, que mostra automaticamente janelas de tempo quando a atualização de dados parece não estar íntegra. O gráfico destaca a possibilidade de travamento quando a atualização de dados excede o 99o percentil da janela de tempo selecionada. Da mesma forma, o gráfico destaca a possível lentidão quando a atualização de dados excede o 95o percentil.

  • Detecte gargalos passando o cursor sobre um período no gráfico que mostra resultados inesperados. Barras mais longas indicam fases mais lentas. Outra opção é clicar no eixo x do gráfico para mostrar os dados naquele momento. Uma abordagem comum para encontrar o estágio que causa a inatividade ou lentidão é encontrar o mais upstream (superior) ou o mais downstream (inferior), causando o aumento da atualização de dados. Essa abordagem não é adequada para todos os cenários, e pode ser necessário depurar mais para identificar a causa exata.

Um exemplo de visualização de progresso do cenário para jobs de streaming, que mostra uma visualização do período de um estágio de execução e uma possível anomalia de lentidão.

Painel de informações sobre o palco

O painel Informações do estágio exibe uma lista de etapas associadas a um estágio, classificadas por tempo decorrido decrescente. Para abrir o painel, mantenha o cursor sobre uma das barras na visualização Progresso do cenário e clique em Ver detalhes.

Exemplo do painel de informações do cenário

Fluxo de trabalho do estágio

O Fluxo de trabalho do estágio mostra os estágios de execução do job, representados como um gráfico de fluxo de trabalho. Para mostrar apenas os estágios que contribuíram diretamente para o ambiente de execução geral do job, clique no botão Caminho crítico.

Um exemplo da visualização do fluxo de trabalho do estágio, mostrando a hierarquia dos diferentes
estágios de execução de um job.

Progresso do worker

Para jobs em lote, o Progresso do worker mostra os workers de um estágio específico. Esta visualização não está disponível para jobs de streaming.

Cada barra é mapeada para um item de trabalho programado para um worker. Um gráfico sparkline que rastreia a utilização da CPU em um worker está localizado com cada worker, facilitando a detecção de problemas de subutilização.

Devido à densidade desta visualização, é necessário filtrar esta visualização pré-selecionando um estágio. Primeiro, identifique um estágio na visualização Progresso do estágio. Mantenha o cursor sobre essa etapa e clique em Ver workers para entrar na visualização Progresso do worker.

Exemplo da visualização de progresso do worker. Os workers têm barras e minigráficos
que correspondem à programação do item de trabalho e à utilização da CPU.

A seguir