Dataflow는 웹 기반 모니터링 사용자 인터페이스에서 실행 세부정보 탭을 제공합니다. 이 탭의 정보를 사용하여 작업 성능을 최적화하고 작업이 느리거나 멈춘 이유를 진단합니다.
작업을 시작한 후에는 Dataflow 모니터링 UI를 사용해서 실행 세부정보 탭을 볼 수 있습니다. 자세한 내용은 Dataflow 모니터링 인터페이스 액세스를 참조하세요.
이 기능을 VM에 사용하기 위해 추가 CPU 또는 네트워크를 필요로 하지 않습니다.
실행 세부정보는 작업 성능에 영향을 미치지 않는 Dataflow 백엔드 모니터링 시스템에 의해 수집됩니다.
이 페이지에서는 실행 세부정보 기능과 사용자 인터페이스 레이아웃을 개괄적으로 요약합니다. 추가 문제 해결 정보는 파이프라인 문제 해결 및 디버깅을 참고하세요.
실행 세부정보를 사용해야 하는 경우
다음은 Dataflow 작업을 실행할 때 실행 세부정보를 사용하는 일반적인 시나리오를 보여줍니다.
파이프라인이 중단되어 문제를 해결하려 합니다.
파이프라인이 느리고 파이프라인 최적화를 타겟팅하려 합니다.
수정할 필요는 없지만 파이프라인의 실행 세부정보를 확인하여 작업을 이해하려고 합니다.
용어
실행 세부정보를 효과적으로 사용하려면 다음 개념이 Dataflow 작업에 어떻게 적용되는지 이해하는 것이 좋습니다.
Dataflow 용어
융합 최적화: 여러 단계 또는 변환을 융합하는 Dataflow의 프로세스입니다. 이 프로세스는 사용자 제출 파이프라인을 최적화합니다.
자세한 내용은 Fusion 최적화를 참조하세요.
단계: Dataflow 파이프라인의 결합 단계 단위입니다.
마지막 단계: Dataflow 파이프라인의 마지막 노드입니다. 파이프라인에는 여러 개의 최종 노드가 있을 수 있습니다.
일괄 작업 용어
중요 경로: 전체 작업 런타임에 기여한 파이프라인의 단계 시퀀스입니다. 예를 들어 이 시퀀스에서 다음 단계는 제외됩니다.
데이터 최신 상태: 실시간과 출력 워터마크 사이의 시간입니다. 자세한 내용은 데이터 최신 상태를 참고하세요.
실행 세부정보 탭 사용
실행 세부정보 탭에는 단계 진행 상황, 단계 정보 패널(단계 진행 상황 내부), 단계 워크플로, 작업자 진행 상황의 네 가지 뷰가 포함되어 있습니다.
단계 워크플로 뷰는 모든 일괄 작업과 스트리밍 작업에 자동으로 사용 설정됩니다. 일괄 및 스트리밍 작업에는 단계 진행 상황 뷰도 있으며 일괄 작업에는 추가 작업자 진행 상황 뷰가 있습니다.
이 섹션에서는 각 뷰를 살펴보고 작업 성공 및 실패한 Dataflow 작업의 예시를 보여줍니다.
일괄 작업의 단계 진행 상황
일괄 작업의 단계 진행 상황 뷰는 해당 시작 및 종료 시간을 기준으로 정렬된 작업의 실행 단계를 보여줍니다. 시간 길이는 막대로 표시됩니다. 예를 들어 가장 긴 막대를 찾아서 파이프라인의 실행 시간이 가장 긴 단계를 시각적으로 확인할 수 있습니다.
각 막대에는 시간 경과에 따른 단계의 진행 상황을 보여주는 스파크라인이 표시됩니다. 작업의 전체 런타임에 기여한 단계를 강조 표시하려면 중요 경로 전환을 클릭합니다. 또한 단계 필터링을 사용하여 관심 있는 단계만 선택할 수 있습니다.
스트리밍 작업의 단계 진행 상황
스트리밍 작업에 대한 단계 진행 상황 뷰는 두 가지 섹션으로 구분될 수 있습니다. 뷰의 위쪽 절반은 작업의 각 실행 단계에 대한 데이터 최신 상태를 나타내는 차트를 보여줍니다. 차트 위로 마우스를 가져가면 해당 특정 시간 인스턴스의 데이터 최신 상태 값이 제공됩니다.
뷰의 후반부는 토폴로지 순서로 정렬된 작업의 실행 단계를 보여줍니다. 하위 단계가 없는 단계가 먼저 표시되고 그 뒤에 하위 단계가 표시됩니다. 이 뷰를 사용하면 예상보다 오래 걸리는 파이프라인의 단계를 쉽게 식별할 수 있습니다. 막대는 전체 시간 도메인에서 가장 긴 데이터 최신 상태를 기준으로 크기가 조정됩니다.
스트리밍 작업은 취소, 드레이닝, 업데이트될 때까지 실행됩니다.
차트에 표시된 시간 선택기를 사용하여 도메인을 더 유용한 기간으로 범위를 지정합니다.
단계 필터링 메뉴를 사용하여 관심 있는 단계를 선택합니다.
단계 진행 상황 뷰를 사용하면 스트리밍 작업이 느리거나 중단되었을 때 다음 두 가지 방법으로 이를 쉽게 식별할 수 있습니다.
단계별 데이터 최신 상태 차트에는 데이터 최신 상태가 비정상적으로 보이는 시간을 자동으로 표시하는 이상 감지가 포함되어 있습니다.
이 차트는 데이터 최신 상태가 선택한 기간의 99번째 백분위수를 초과할 때 잠재적 중단을 강조표시합니다. 마찬가지로 이 차트는 데이터 최신 상태가 95번째 백분위수를 초과할 때 잠재적 느림을 강조표시합니다.
차트에서 예기치 않은 결과가 표시되는 시간 위로 마우스를 가져가 병목 현상을 감지합니다. 막대가 길수록 단계가 느리다는 것입니다. 또는 차트의 x축을 클릭하여 해당 시간 인스턴스의 데이터를 표시할 수 있습니다. 중단/느림을 일으키는 단계를 찾기 위한 일반적인 접근 방법은 데이터 최신 상태가 크게 변동되게 만드는 최고 업스트림(맨 위) 또는 최저 다운스트림(맨 아래) 단계를 찾는 것입니다. 이 접근 방식이 모든 시나리오에 적합하지는 않으며, 정확한 원인을 확인하기 위해 추가적인 디버깅이 필요할 수 있습니다.
단계 정보 패널
단계 정보 패널에는 실제 경과 시간이 내림차순으로 정렬된 통합 단계와 연관된 세부 단계 목록이 표시됩니다. 패널을 열려면 단계 진행 상황 뷰에서 막대 중 하나 위로 마우스를 가져가고 세부정보 보기를 클릭합니다.
단계 워크플로
단계 워크플로는 작업 실행 단계를 보여주며 워크플로 그래프로 표현됩니다. 작업의 전체 런타임에 직접 참여한 단계만 표시하려면 주요 경로 전환 버튼을 클릭합니다.
작업자 진행 상황
일괄 작업의 경우 작업자 진행 상황은 특정 단계의 작업자를 보여줍니다.
스트리밍 작업에서는 이 뷰를 사용할 수 없습니다.
각 막대는 작업자에 예약된 작업 항목에 매핑됩니다. 각 작업자에 있는 작업자에서 CPU 사용률을 추적하는 스파크라인이 표시되므로 사용률 저하 문제를 쉽게 찾을 수 있습니다.
이 시각화의 밀도로 인해 단계를 미리 선택하여 이 뷰를 필터링해야 합니다. 먼저 단계 진행 뷰에서 단계를 식별합니다.
해당 단계 위로 마우스를 가져간 다음 작업자 보기를 클릭하여 작업자 진행 상황 뷰로 들어갑니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-03-18(UTC)"],[[["\u003cp\u003eThe \u003cstrong\u003eExecution details\u003c/strong\u003e tab in Dataflow's monitoring UI helps optimize job performance and diagnose issues like slow or stuck pipelines without impacting VM performance.\u003c/p\u003e\n"],["\u003cp\u003eThis feature is useful for troubleshooting stuck or slow pipelines, optimizing performance, or gaining insight into a job's execution, providing insights through four views: \u003cstrong\u003eStage progress\u003c/strong\u003e, \u003cstrong\u003eStage info panel\u003c/strong\u003e, \u003cstrong\u003eStage workflow\u003c/strong\u003e, and \u003cstrong\u003eWorker progress\u003c/strong\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003cstrong\u003eStage progress\u003c/strong\u003e view visually displays job execution stages over time for both batch and streaming jobs, including critical path analysis and data freshness insights, the longer a stage bar, the longer it took to complete.\u003c/p\u003e\n"],["\u003cp\u003e\u003cstrong\u003eStage info panel\u003c/strong\u003e details the steps within a fused stage, ranked by wall time, helping identify bottlenecks, and can be accessed by selecting a bar within the \u003cstrong\u003eStage progress\u003c/strong\u003e view.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003cstrong\u003eWorker progress\u003c/strong\u003e view, exclusive to batch jobs, displays individual work items and CPU utilization for each worker, offering insights into resource usage and potential underutilization.\u003c/p\u003e\n"]]],[],null,["This page describes how to use the **Execution details** tab in the\nDataflow monitoring interface.\n\nOverview\n\nWhen Dataflow runs a job, it converts the *steps* of the pipeline\ninto *stages* . Whereas each step represents an individual transform, a stage\nrepresents a single unit of work that is performed by Dataflow.\nTo optimize the pipeline, Dataflow might\n[fuse](/dataflow/docs/pipeline-lifecycle#fusion_optimization) multiple steps\ninto one stage.\n\nThe **Execution details** tab in the Dataflow monitoring interface\ndisplays information about the stages of a job. You can use the\n**Execution details** tab to troubleshoot performance issues, such as:\n\n- Slow stages that cause performance bottlenecks\n- Stuck stages that are not advancing\n- Worker VMs that are lagging behind other workers\n\nView execution details\n\nTo view the execution details for a job, perform the following steps:\n\n1. In the Google Cloud console, go to the **Dataflow**\n \\\u003e **Jobs** page.\n\n [Go to Jobs](https://console.cloud.google.com/dataflow/jobs)\n2. Select a job.\n\n3. Click the **Execution details** tab.\n\n4. Select one of the following views:\n\n - **Stage progress**\n - **Stage workflow**\n - **Worker progress** (batch jobs only)\n\nThe following sections describe each of these views.\n\nStage progress view\n\nThe **Stage progress** view lets you observe the overall progress of the job and\ncompare relative progress between stages. The layout of the **Stage progress**\nview differs between batch jobs and streaming jobs.\n\nStage progress for batch jobs\n\nFor batch jobs, the **Stage progress** view shows the job stages in order of\ntheir start times. For each stage, it displays the following elements:\n\n- A bar that shows the stop and end times.\n- A line chart that shows the progress of the stage over time as a percentage of the stage's total work.\n- The total time spent in the stage.\n\nTo filter which stages are displayed, click **Filter stages** . To view the\ncritical path, toggle **Critical path**. The critical path is the sequence of\nstages that contribute to the overall job runtime. For example, it excludes\nbranches that finished earlier than the overall job, and inputs that did not\ndelay downstream processing.\n\nThe **Stage Info** panel shows more detailed information about a stage. To view\nthe details for a stage, click the progress bar for that stage. The **Stage\nInfo** panel shows the following information about a stage:\n\n- Status\n- Progress as a percentage\n- Start and end times\n- The pipeline steps that this stage encompasses\n- The slowest steps by wall time\n- Details about any [stragglers](/dataflow/docs/guides/troubleshoot-batch-stragglers)\n\nIf the panel is not visible, click last_page\n**Toggle panel \"Stage info\"**.\n\nStage progress for streaming jobs\n\nFor streaming jobs, the **Stage progress** view has two visualizations of\ndata freshness.\n[Data freshness](/dataflow/docs/guides/using-monitoring-intf#data_freshness_streaming)\nis the difference between a data element's timestamp and the time when the\nelement is processed. Larger values mean the pipeline is taking longer to\nprocess the input data.\n\nThe first visualization shows data freshness per stage as a line graph. To see\nthe data freshness at a specific instant of time, hold the pointer over the\ngraph. To select the time range, use the time picker or click the graph and drag\nto select the range. To filter which stages are displayed, click **Filter\nstages**.\n\nThe graph also highlights anomalies in the data:\n\n- Potential slowness: Data freshness exceeds the 95th percentile for the selected time window.\n- Potential stuckness: Data freshness exceeds the 99th percentile for the selected time window.\n\nThe second visualization shows the stages as a series of bars. The stages are\narranged in topological order. Stages with no descendants are shown first,\nfollowed by their descendants. The lengths of the bars represent data freshness.\nTo see the data freshness values at a specific point, click the graph. The\nbars update to show data freshness at the selected time.\n\nThe following image shows a job with four stages. At the selected timestamp,\nthe data freshness ranges from 9 seconds to 13 seconds.\n\nThe next image shows the same job with a different timestamp selected. At this\npoint, the data freshness for all stages exceeds 4 minutes, signalling that the\npipeline might be stuck.\n\nThe **Stage Info** panel shows more detailed information about a stage. To view\nthe details for a stage, click the progress bar for that stage. The **Stage\nInfo** panel shows the following information about a stage:\n\n- Status\n- [System lag](/monitoring/api/metrics_gcp_d_h#dataflow/job/per_stage_system_lag): The maximum time that an item of data has been awaiting processing\n- [Data watermark](/monitoring/api/metrics_gcp_d_h#dataflow/job/per_stage_data_wat:ermark_age): The estimated completion time of data input for this stage\n- Details about any [stragglers](/dataflow/docs/guides/troubleshoot-streaming-stragglers)\n- The pipeline steps that this stage encompasses\n\nIf the panel is not visible, click last_page\n**Toggle panel \"Stage info\"**.\n\nStage workflow\n\n**Stage workflow** view shows the job stages as a workflow graph. To view\nthe details for a stage, click the box for that stage.\n\nFor batch jobs, click **Critical path** to view only the stages that directly\ncontribute to the job's overall runtime.\n\nWorker progress\n\nFor batch jobs, the **Worker progress** view shows the workers for a particular\nstage. This view is not available for streaming jobs. To access this view,\nselect **Worker progress** and select the stage in **Filter workers by stage** .\nAlternatively, you can activate this view from the **Stage progress** view as\nfollows:\n\n1. In the **Stage progress** view, identify the stage that you want to view.\n2. Hold the pointer over the bar for that stage.\n3. In the **Stage** card, click **View workers** . The **Worker progress** view is shown with the stage pre-selected.\n\nEach bar maps to a work item scheduled to a worker. A sparkline that tracks CPU\nutilization on a worker is located with each worker, making it easier to spot\nunderutilization issues.\n\nWhat's next\n\n- Learn more about [troubleshooting Dataflow pipelines](/dataflow/docs/guides/troubleshooting-your-pipeline).\n- Read about the different components of [Dataflow's\n web-based monitoring user interface](/dataflow/docs/guides/monitoring-overview)."]]