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.
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.
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.
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.
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.
A seguir
- Saiba mais sobre como resolver problemas de jobs lentos ou travados.
- Leia sobre os diferentes componentes da Interface de usuário de monitoramento baseado na Web do Dataflow.