Dataflow proporciona una pestaña Detalles de ejecución en su interfaz de usuario de supervisión basada en la Web. Esta herramienta puede ayudarte a optimizar el rendimiento de tus trabajos y diagnosticar por qué podrían ser lentos o estar atascados. Este documento es para cualquier usuario de Dataflow que necesite inspeccionar los detalles de ejecución de sus trabajos de Dataflow.
En esta página, se proporciona un resumen de alto nivel de la función de detalles de la ejecución y su diseño de interfaz de usuario. Para obtener detalles sobre la solución de problemas, lee Usa la pestaña Detalles de la ejecución.
Terminología
Para usar los detalles de ejecución de manera efectiva, debes comprender cómo se aplican los siguientes conceptos clave a los trabajos de Dataflow:
Terminología de Dataflow
- Optimización de fusión: proceso de Dataflow que usa varios pasos o transformaciones. Esto optimiza las canalizaciones enviadas por los usuarios. Para obtener más información, lee Optimización de fusión.
- Etapas: unidad de pasos combinados en canalizaciones de Dataflow.
- Última etapa: El nodo final en las canalizaciones de Dataflow. Una canalización puede tener varios nodos finales.
Terminología de Batch
- Rutas de acceso críticas: La secuencia de etapas de una canalización que contribuyeron al entorno de ejecución general del trabajo. Por ejemplo, esta secuencia excluye las siguientes etapas:
- Ramas de la canalización que finalizaron antes del trabajo general.
- Entradas que no retrasaron el procesamiento descendente.
- Trabajadores: instancias de VM de Compute Engine que ejecutan un trabajo de Dataflow.
- Elementos de trabajo: unidades de trabajo que corresponden a un paquete seleccionado por Dataflow.
Terminología de transmisión
- La actualidad de los datos es la cantidad de tiempo transcurrido entre la hora real y la marca de agua de salida. Puedes obtener más información en Actualización de datos (solo canalizaciones de transmisión).
Cuándo usar detalles de ejecución
Las siguientes son situaciones comunes para usar los detalles de ejecución cuando ejecutas trabajos de Dataflow:
- La canalización está atascada y quieres solucionar el problema.
- La canalización es lenta y quieres optimizarla.
- No es necesario corregir nada, pero deseas ver los detalles de ejecución de tu canalización para comprender tu trabajo.
Habilita los detalles de ejecución
La vista Flujo de trabajo por etapas se habilita de forma automática para todos los trabajos por lotes y de transmisión. Los trabajos por lotes y de transmisión también tienen una vista de Progreso de etapa, y los trabajos por lotes tienen una vista adicional Progreso del trabajador.
Esta función no genera uso adicional de CPU, red, etc. para tus VM. El sistema de supervisión de backend de Dataflow recopila los detalles de la ejecución, lo que no afecta el rendimiento del trabajo.
Una vez que inicies tu trabajo, podrás ver la pestaña Detalles de ejecución con la IU de supervisión de Dataflow. Para obtener más información, consulta Cómo acceder a la interfaz de supervisión de Dataflow
Usa la pestaña Detalles de la ejecución
La pestaña Detalles de la ejecución incluye cuatro vistas: Progreso de la etapa, Panel lateral (dentro del Progreso de la etapa) Flujo de trabajo de la etapa y Progreso de los trabajadores. En esta sección, se explica cada vista y se proporcionan ejemplos de trabajos por lotes exitosos y fallidos.
Progreso de la etapa para trabajos por lotes
La vista Progreso de etapa para los trabajos por lotes muestra las etapas de ejecución del trabajo ordenadas por las horas de inicio y finalización. El tiempo se representa con una barra. Por ejemplo, puedes identificar visualmente las etapas de ejecución más largas de una canalización si encuentras la barra más larga.
Debajo de cada barra, puedes encontrar una minigráfico que muestra el progreso de la etapa a lo largo del tiempo. Para destacar las etapas que contribuyeron al entorno de ejecución general del trabajo, haz clic en el botón de activación Ruta crítica. Además, puede usar el menú desplegable “Filtrar etapas” para seleccionar solo las etapas que le interesan.
Progreso de la etapa para trabajos de transmisión
La vista del Progreso de la etapa para los trabajos de transmisión se puede dividir en dos secciones. La mitad superior de la vista muestra un gráfico que representa la actualidad de los datos para cada etapa de ejecución del trabajo. Si colocas el cursor sobre el gráfico, se proporciona el valor de actualidad de datos en ese instante específico de tiempo. La mitad inferior de la vista muestra las etapas de ejecución del trabajo ordenadas de forma topológica, donde las etapas sin etapas descendientes se muestran en la parte superior y sus descendientes se muestran debajo. Esta vista facilita la identificación de las etapas de una canalización que tardan más de lo que deberían. El tamaño de las barras se relaciona con la actualidad de los datos más larga durante todo el dominio de tiempo.
Los trabajos de transmisión se ejecutan hasta que se cancelan, se desvían o se actualizan. El selector de hora que se encuentra sobre el gráfico se puede usar para reducir el alcance del dominio a un intervalo de tiempo más útil. Además, puede usar el menú desplegable “Filtrar etapas” para seleccionar solo las etapas que le interesan.
La vista Progreso de etapa facilita la identificación de cuándo tu trabajo de transmisión es lento o atascado de dos maneras diferentes:
- El gráfico de actualidad de datos por etapas incluye detección de anomalías, que mostrará automáticamente los períodos en que la actualización de datos se ve en mal estado. En el gráfico, se va a destacar “potencialmente bloqueado” cuando la actualidad de los datos supere el percentil 99 para el período seleccionado. Del mismo modo, en el gráfico se va a destacar la “desaceleración potencial” cuando la actualidad de los datos supere el percentil 95.
- Los cuellos de botella se pueden detectar si colocas el cursor sobre un punto del gráfico que parece inusual. Una vez que colocas el cursor sobre un elemento, las barras más largas indican etapas más lentas. De manera alternativa, se puede hacer clic en el eje x del gráfico para mostrar los datos en ese momento. Un enfoque común para encontrar la etapa que causa la inactividad o la lentitud es encontrar la etapa más ascendente (más arriba) o la más descendente (más baja), lo que hace que la actualidad de los datos aumente. Este enfoque no se adapta a todas las situaciones y es posible que se requiera una depuración adicional para identificar la causa exacta.
Panel de información de la etapa
En el panel de información de la etapa, se muestra una lista de pasos asociados a una etapa y clasificados por un tiempo de muro descendente. El panel se abre en el lado derecho de la pantalla. Para abrir el panel, coloca el cursor sobre una de las barras de la vista Progreso de etapa y haz clic en Ver detalles.
Flujo de trabajo de la etapa
El flujo de trabajo por etapas muestra las etapas de ejecución del trabajo, representadas como un grafo de flujo de trabajo. Para mostrar solo las etapas que contribuyeron directamente al entorno de ejecución general del trabajo, haz clic en el botón de activación Ruta crítica.
Progreso de los trabajadores
En los trabajos por lotes, el Progreso del trabajador muestra los trabajadores de una etapa en particular. Esta vista no está disponible para los trabajos de transmisión.
Cada barra se asigna a un elemento de trabajo programado para un trabajador. Un minigráfico que hace un seguimiento del uso de CPU en un trabajador se encuentra debajo de cada trabajador, lo que facilita detectar los problemas de uso insuficiente.
Debido a la densidad de esta visualización, debes filtrar esta vista preseleccionando una etapa. Primero, identifica una etapa en la vista Progreso de la etapa. Coloca el cursor sobre esa etapa y haz clic en Ver trabajadores para ingresar a la vista Progreso del trabajador.
¿Qué sigue?
- Obtén más información sobre cómo usar la pestaña de detalles de la ejecución para solucionar problemas.
- Lee sobre los diferentes componentes de la interfaz de usuario de supervisión basada en la Web de Dataflow.