Debugging berdasar data dengan menggunakan diagram pekerjaan
Diagram pekerjaan pada bilah Pemantauan di portal Azure dapat membantu Anda memvisualisasikan alur pekerjaan Anda. Ini menunjukkan input, output, dan langkah-langkah kueri. Anda dapat menggunakan diagram pekerjaan untuk memeriksa metrik setiap langkah, untuk lebih cepat mengisolasi sumber masalah saat Anda memecahkan masalah.
Menggunakan diagram pekerjaan
Di portal Azure, saat berada di tugas Stream Analytics, di bawah DUKUNGAN + PEMECAHAN MASALAH, pilih Diagram tugas:
Pilih setiap langkah kueri untuk melihat bagian terkait di panel pengeditan kueri. Bagan metrik untuk langkah ditampilkan di panel bawah pada halaman.
Untuk melihat partisi input Azure Event Hubs, pilih . . . Menu konteks muncul. Anda juga dapat melihat penggabungan input.
Untuk melihat diagram metrik hanya untuk satu partisi, pilih node partisi. Metrik ditampilkan di bagian bawah halaman.
Untuk melihat diagram metrik penggabungan, pilih node penggabungan. Bagan berikut menunjukkan bahwa tidak ada peristiwa yang dihilangkan atau disesuaikan.
Untuk melihat detail waktu dan nilai metrik, arahkan kursor ke bagan.
Memecahkan masalah dengan menggunakan metrik
Metrik QueryLastProcessedTime menunjukkan kapan langkah tertentu menerima data. Dengan melihat topologi, Anda dapat bekerja mundur dari prosesor output untuk melihat langkah mana yang tidak menerima data. Jika suatu langkah tidak mendapatkan data, lanjutkan ke langkah kueri sebelumnya. Periksa apakah langkah kueri sebelumnya memiliki jendela waktu, dan apakah waktu yang berlalu cukup untuk melakukan output data. (Perhatikan bahwa jendela waktu disejajarkan ke jam.)
Jika langkah kueri sebelumnya adalah pemroses input, gunakan metrik input untuk membantu menjawab pertanyaan yang ditargetkan berikut. Mereka dapat membantu Anda menentukan apakah suatu pekerjaan mendapatkan data dari sumber inputnya. Jika kueri dipartisi, periksa setiap partisi.
Berapa banyak data yang sedang dibaca?
- InputEventsSourcesTotal adalah jumlah unit data yang dibaca. Misalnya, jumlah blob.
- InputEventsTotal adalah jumlah peristiwa yang dibaca. Metrik ini tersedia per partisi.
- InputEventsInBytesTotal adalah jumlah byte yang dibaca.
- InputEventsLastArrivalTime diperbarui dengan setiap waktu antrean peristiwa yang diterima.
Apakah waktu bergerak maju? Jika peristiwa aktual dibaca, tanda baca mungkin tidak diberikan.
- InputEventsLastPunctuationTime menunjukkan kapan tanda baca dikeluarkan untuk menjaga waktu bergerak maju. Jika tanda baca tidak dikeluarkan, aliran data dapat diblokir.
Apakah ada kesalahan dalam input?
- InputEventsEventDataNullTotal adalah jumlah peristiwa yang memiliki data null.
- InputEventsSerializerErrorsTotal adalah jumlah peristiwa yang tidak dapat dideserialisasi dengan benar.
- InputEventsDegradedTotal adalah jumlah peristiwa yang memiliki masalah selain deserialisasi.
Apakah peristiwa dihilangkan atau disesuaikan?
- InputEventsEarlyTotal adalah jumlah peristiwa yang memiliki tanda waktu aplikasi sebelum marka air tinggi.
- InputEventsLateTotal adalah jumlah peristiwa yang memiliki tanda waktu aplikasi setelah marka air tinggi.
- InputEventsDroppedBeforeApplicationStartTimeTotal adalah jumlah peristiwa yang dihilangkan sebelum waktu mulai pekerjaan.
Apakah kita tertinggal dalam membaca data?
- Input Events Backlogged (Total) memberi tahu Anda berapa banyak lagi pesan yang perlu dibaca untuk input Event Hubs dan Azure IoT Hub. Ketika angka ini lebih besar dari 0, itu berarti pekerjaan Anda tidak dapat memproses data secepat data itu masuk. Dalam hal ini Anda mungkin perlu menambah jumlah Unit Streaming dan/atau memastikan pekerjaan Anda dapat diparalelkan. Anda dapat melihat info selengkapnya tentang ini di halaman paralelisasi kueri.
Dapatkan bantuan
Untuk bantuan tambahan, coba halaman pertanyaan Microsoft Q&A untuk Azure Stream Analytics.