Detail eksekusi

Dataflow menyediakan tab Detail eksekusi di antarmuka pengguna pemantauan berbasis web. Alat ini dapat membantu Anda mengoptimalkan performa untuk tugas Anda dan mendiagnosis penyebab tugas Anda mungkin berjalan lambat atau macet. Dokumen ini ditujukan untuk pengguna Dataflow yang perlu memeriksa detail eksekusi tugas Dataflow.

Halaman ini menyediakan ringkasan tingkat tinggi dari fitur detail eksekusi dan tata letak antarmuka penggunanya. Untuk mengetahui detail pemecahan masalah, baca Menggunakan tab Detail eksekusi.

Terminologi

Untuk menggunakan detail eksekusi secara efektif, Anda harus memahami bagaimana konsep utama berikut berlaku pada tugas Dataflow:

Terminologi Dataflow

  • Pengoptimalan Fusion: Proses Dataflow yang menggabungkan beberapa langkah atau transformasi. Hal ini akan mengoptimalkan pipeline yang dikirimkan pengguna. Untuk mengetahui informasi selengkapnya, baca Pengoptimalan Fusion.
  • Tahapan: Unit langkah-langkah gabungan dalam pipeline Dataflow.
  • Tahap terakhir: Node terakhir di pipeline Dataflow. Pipeline dapat memiliki beberapa node akhir.

Terminologi batch

  • Jalur penting: Urutan tahapan pipeline yang berkontribusi pada runtime tugas secara keseluruhan. Misalnya, urutan ini mengecualikan tahap-tahap berikut:
    • Cabang pipeline yang selesai lebih awal dari tugas keseluruhan.
    • Input yang tidak menunda pemrosesan downstream.
  • Pekerja: Instance VM Compute Engine yang menjalankan tugas Dataflow.
  • Item tugas: Unit tugas yang sesuai dengan paket yang dipilih oleh Dataflow.

Terminologi streaming

Kapan harus menggunakan detail eksekusi

Berikut adalah skenario umum penggunaan detail eksekusi saat menjalankan tugas Dataflow:

  • Pipeline Anda bermasalah dan Anda ingin memecahkan masalahnya.
  • Pipeline Anda lambat dan Anda ingin menargetkan pengoptimalan pipeline.
  • Tidak ada yang perlu diperbaiki, tetapi Anda perlu melihat detail eksekusi pipeline untuk memahami tugas Anda.

Aktifkan detail eksekusi

Tampilan Stage Workflow diaktifkan secara otomatis untuk semua tugas batch dan streaming. Tugas batch dan streaming juga memiliki tampilan Progres bertahap, dan tugas batch memiliki tampilan Progres Pekerja tambahan.

Fitur ini tidak menimbulkan penggunaan CPU, jaringan, dll. tambahan untuk VM Anda. Detail eksekusi dikumpulkan oleh sistem pemantauan backend Dataflow yang tidak memengaruhi performa tugas.

Setelah meluncurkan tugas, Anda dapat melihat tab Execution details menggunakan UI pemantauan Dataflow. Untuk mengetahui informasi selengkapnya, baca Mengakses antarmuka pemantauan Dataflow.

Menggunakan tab Detail eksekusi

Tab Execution details mencakup empat tampilan: Stage progress, Stage info panel (dalam Stage progress), Stage Workflow, dan Worker progress. Bagian ini membahas setiap tampilan dan memberikan contoh tugas Dataflow yang berhasil dan yang gagal.

Progres tahap untuk tugas Batch

Tampilan Progres tahapan untuk tugas Batch menampilkan tahap eksekusi tugas, yang disusun berdasarkan waktu mulai dan berakhir. Lamanya waktu direpresentasikan dengan batang. Misalnya, Anda dapat secara visual mengidentifikasi tahap pipeline yang berjalan paling lama dengan menemukan batang terpanjang.

Di bawah setiap batang, Anda dapat menemukan garis percik yang menunjukkan progres tahap dari waktu ke waktu. Untuk menandai tahap yang berkontribusi pada keseluruhan runtime tugas, klik tombol Jalur penting. Selain itu, Anda dapat menggunakan menu drop-down "Filter Tahapan" untuk hanya memilih tahapan yang Anda minati.

Contoh tampilan progres Tahap untuk tugas Batch, yang menampilkan visualisasi durasi
waktu untuk enam tahap eksekusi yang berbeda.

Progres tahap untuk tugas Streaming

Tampilan Progres bertahap untuk tugas Streaming dapat dibagi menjadi dua bagian. Paruh atas tampilan menunjukkan diagram yang mewakili Keaktualan Data untuk setiap tahap eksekusi tugas. Mengarahkan kursor ke diagram akan memberikan nilai Keaktualan Data pada waktu spesifik tersebut. Setengah bagian bawah tampilan menunjukkan tahap eksekusi tugas, yang disusun dalam urutan topologi, dengan tahapan tanpa tahap turunan ditampilkan di bagian atas dan turunan dicantumkan di bawahnya. Tampilan ini memudahkan identifikasi tahapan pipeline yang memerlukan waktu lebih lama dari yang seharusnya. Ukuran batang relatif terhadap Keaktualan Data terpanjang untuk seluruh domain waktu.

Tugas streaming berjalan hingga dibatalkan, dikosongkan, atau diperbarui. Alat pilih waktu di atas diagram dapat digunakan untuk menentukan cakupan domain hingga rentang waktu yang lebih bermanfaat. Selain itu, Anda dapat menggunakan menu drop-down "Filter Tahapan" untuk hanya memilih tahapan yang Anda minati.

Tampilan Progres bertahap memudahkan identifikasi saat tugas streaming Anda lambat atau terhambat dengan dua cara berbeda:

  1. Diagram Keaktualan Data menurut Tahapan mencakup deteksi anomali, yang akan otomatis menampilkan jangka waktu saat Keaktualan Data terlihat tidak responsif. Diagram akan menandai "potensi masalah yang terhenti" saat Keaktualan Data melebihi persentil ke-99 untuk jangka waktu yang dipilih. Demikian juga, diagram akan menandai "potensi kelambatan" saat Keaktualan Data melebihi persentil ke-95.
  2. Bottleneck dapat dideteksi dengan mengarahkan kursor ke waktu yang tidak normal pada diagram terlebih dahulu. Setelah kursor diarahkan, batang yang lebih panjang menunjukkan tahapan yang lebih lambat. Atau, sumbu x pada diagram dapat diklik untuk menampilkan data pada instance waktu tersebut. Pendekatan umum untuk menemukan tahap yang menyebabkan macet/kelambatan adalah dengan menemukan tahap paling hulu (teratas) atau paling hilir (paling bawah) yang menyebabkan lonjakan Keaktualan Data. Pendekatan ini tidak sesuai untuk semua skenario, dan proses debug lebih lanjut mungkin diperlukan untuk menentukan penyebab sebenarnya.

Contoh tampilan progres Tahap untuk tugas Streaming, yang menampilkan visualisasi durasi
waktu untuk satu tahap eksekusi dan kemungkinan anomali kelambatan.

Panel info tahapan

Panel info Stage menampilkan daftar langkah yang terkait dengan tahap fusi, yang diberi peringkat berdasarkan waktu proses menurun. Panel akan terbuka di sisi kanan layar. Untuk membuka panel, arahkan kursor ke salah satu batang di tampilan Progres panggung, lalu klik View details.

Contoh Panel Info Stage

Alur kerja stage

Alur kerja tahap menunjukkan tahap eksekusi tugas, yang direpresentasikan sebagai grafik alur kerja. Untuk hanya menampilkan tahapan yang secara langsung berkontribusi pada runtime tugas secara keseluruhan, klik tombol Jalur penting.

Contoh tampilan alur kerja Tahap, yang menunjukkan hierarki berbagai
tahap eksekusi tugas.

Kemajuan pekerja

Untuk tugas batch, Progres pekerja menampilkan pekerja untuk tahap tertentu. Tampilan ini tidak tersedia untuk tugas streaming.

Setiap batang dipetakan ke item pekerjaan yang dijadwalkan ke pekerja. Garis percik yang melacak pemanfaatan CPU pada pekerja terletak di bawah setiap pekerja, sehingga lebih mudah untuk menemukan masalah kurang pemanfaatan.

Karena kepadatan visualisasi ini, Anda harus memfilter tampilan ini dengan memilih tahapan terlebih dahulu. Pertama, identifikasi tahapan dalam tampilan Stage progress. Arahkan kursor ke tahap tersebut dan klik Lihat pekerja untuk masuk ke tampilan Progres pekerja.

Contoh tampilan progres pekerja. Pekerja memiliki batang dan garis percik
yang sesuai dengan penjadwalan item kerja dan penggunaan CPU.

Langkah selanjutnya