Detail eksekusi

Dataflow menyediakan tab Execution details di antarmuka pengguna pemantauan berbasis web-nya. Gunakan informasi di tab ini untuk mengoptimalkan performa tugas dan mendiagnosis penyebab tugas Anda mungkin lambat atau macet. Setelah meluncurkan tugas, Anda dapat melihat tab Execution details menggunakan UI pemantauan Dataflow. Untuk informasi selengkapnya, lihat Mengakses antarmuka pemantauan Dataflow.

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

Halaman ini memberikan ringkasan tingkat tinggi tentang fitur detail eksekusi dan tata letak antarmuka penggunanya. Untuk informasi pemecahan masalah tambahan, lihat Pemecahan masalah dan proses debug pipeline.

Kapan harus menggunakan detail eksekusi

Berikut adalah skenario umum untuk menggunakan detail eksekusi saat menjalankan tugas Dataflow:

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

Terminologi

Untuk menggunakan detail eksekusi secara efektif, sebaiknya pahami cara konsep berikut diterapkan ke tugas Dataflow.

Terminologi dataflow

  • Pengoptimalan penggabungan: Proses Dataflow menggabungkan beberapa langkah atau transformasi. Proses ini mengoptimalkan pipeline yang dikirimkan pengguna. Untuk informasi selengkapnya, lihat Pengoptimalan Fusion.
  • Tahap: Unit langkah gabungan dalam pipeline Dataflow.
  • Tahap terakhir: Node terakhir dalam pipeline Dataflow. Pipeline dapat memiliki beberapa node akhir.

Terminologi batch

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

Terminologi streaming

  • Keaktualan Data: Jumlah waktu antara real time dan watermark output. Informasi selengkapnya dapat ditemukan di Keaktualan data.

Menggunakan tab Detail eksekusi

Tab Detail eksekusi mencakup empat tampilan: Progres tahap, Panel info tahap (dalam Progres tahap), Alur kerja tahap, dan Progres pekerja.

Tampilan Alur Kerja Tahap diaktifkan secara otomatis untuk semua tugas streaming dan batch. Tugas batch dan streaming juga memiliki tampilan Progres tahap, dan tugas batch memiliki tampilan Progres pekerja tambahan.

Bagian ini akan memandu Anda melalui setiap tampilan dan memberikan contoh tugas Dataflow yang berhasil dan gagal.

Kemajuan tahap untuk tugas Batch

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

Dengan setiap batang, garis percik menunjukkan progres tahap dari waktu ke waktu. Untuk menandai tahap yang berkontribusi pada keseluruhan runtime tugas, klik tombol Jalur kritis. Selain itu, Anda dapat menggunakan Filter stages untuk hanya memilih tahap yang Anda minati.

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

Progres stage untuk tugas Streaming

Tampilan Progres tahap untuk tugas Streaming dapat dibagi menjadi dua bagian. Paruh pertama tampilan menampilkan diagram yang mewakili keaktualan data untuk setiap tahap eksekusi tugas. Mengarahkan kursor ke diagram akan menampilkan nilai keaktualan data pada waktu tertentu tersebut.

Paruh kedua tampilan menunjukkan tahap eksekusi tugas, yang disusun dalam urutan topologi. Tahap tanpa tahap turunan ditampilkan terlebih dahulu, diikuti dengan turunannya. Tampilan ini mempermudah identifikasi tahap pipeline yang memerlukan waktu lebih lama dari yang diperkirakan. Ukuran batang relatif terhadap keaktualan data terpanjang untuk seluruh domain waktu.

Tugas streaming berjalan hingga dibatalkan, habis, atau diperbarui.

  • Gunakan pemilih waktu yang ditampilkan dengan diagram untuk menentukan cakupan domain ke rentang waktu yang lebih berguna.
  • Gunakan menu Filter stages untuk memilih tahap yang Anda minati.

Tampilan Progres tahap membantu Anda mengidentifikasi kapan tugas streaming lambat atau macet dengan dua cara berbeda:

  • Diagram Keaktualan data menurut tahap menyertakan deteksi anomali, yang secara otomatis menampilkan periode waktu saat keaktualan data terlihat tidak sehat. Diagram ini menyoroti potensi macet saat keaktualan data melebihi persentil ke-99 untuk periode waktu yang dipilih. Demikian pula, diagram menyoroti potensi keterlambatan saat keaktualan data melebihi persentil ke-95.

  • Deteksi bottleneck dengan mengarahkan kursor ke waktu dalam diagram yang menampilkan hasil yang tidak terduga. Batang yang lebih panjang menunjukkan tahap yang lebih lambat. Atau, klik sumbu x diagram untuk menampilkan data pada waktu tersebut. Pendekatan umum untuk menemukan tahap yang menyebabkan macet atau lambat adalah menemukan tahap paling upstream (paling atas) atau paling downstream (paling bawah) yang menyebabkan keaktualan data melonjak. Pendekatan ini tidak sesuai untuk semua skenario, dan Anda mungkin perlu melakukan debug lebih lanjut untuk menentukan penyebab pastinya.

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

Panel info stage

Panel info tahap menampilkan daftar langkah yang terkait dengan tahap gabungan, yang diberi peringkat berdasarkan waktu tunggu menurun. Untuk membuka panel, tahan kursor ke salah satu batang di tampilan Progres tahap, lalu klik Lihat detail.

Contoh Panel Info Panggung

Alur kerja stage

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

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

Kemajuan pekerja

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

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

Karena kepadatan visualisasi ini, Anda harus memfilter tampilan ini dengan memilih tahap terlebih dahulu. Pertama, identifikasi tahap di tampilan Progres tahap. Arahkan kursor ke tahap tersebut, lalu klik Lihat pekerja untuk membuka tampilan Progres pekerja.

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

Langkah selanjutnya