Tugas terjadwal menjalankan program atau perintah secara otomatis, baik satu kali maupun berulang. Ketika aplikasi Java mengandalkan tugas terjadwal untuk pemrosesan data, penyegaran cache, atau pembersihan berkala, kegagalan dan degradasi kinerja pada tugas tersebut dapat luput dari perhatian hingga sistem downstream terdampak. Application Real-Time Monitoring Service (ARMS) secara otomatis mendeteksi dan memantau tugas XXL-JOB, SchedulerX, dan JDK-Timer dalam aplikasi Java Anda, menyediakan metrik eksekusi, pemetaan dependensi, serta diagnostik tingkat jejak.
Dengan pemantauan tugas terjadwal, Anda dapat:
Memantau kesehatan eksekusi, jumlah eksekusi, dan latensi penjadwalan dari waktu ke waktu
Mengidentifikasi kueri SQL dan NoSQL lambat yang menurunkan kinerja tugas
Mengidentifikasi pengecualian Java dan error aplikasi pada level kode
Memeriksa dependensi layanan downstream dan metrik kinerjanya
Mengeksplorasi jejak individual untuk analisis akar masalah
Prasyarat
Sebelum memulai, pastikan Anda telah:
Menghubungkan aplikasi Java ke ARMS Application Monitoring — ditandai dengan ikon
pada kolom Language di halaman Applications. Jika muncul tanda hubung (-), artinya aplikasi terhubung ke Tracing Analysis, bukan Application MonitoringMenggunakan ARMS agent versi 2.7.1.3 atau lebih baru. Untuk melakukan upgrade, lihat Bagaimana cara memperbarui ARMS agent untuk aplikasi Java?
Pemantauan aplikasi ARMS hanya mendukung jenis tugas XXL-JOB, SchedulerX, dan JDK-Timer.
Buka halaman pemantauan tugas terjadwal
Masuk ke Konsol ARMS.
Pada panel navigasi kiri, pilih Application Monitoring > Applications.
Pada bilah navigasi atas, pilih Wilayah, lalu klik nama aplikasi target.
Pada panel navigasi kiri, klik Timed Task.
Semua tugas terjadwal yang terdeteksi muncul dalam daftar di sisi kiri. Klik suatu tugas untuk melihat data pemantauannya.

Ikhtisar
Tab Overview menampilkan topologi panggilan tugas terjadwal yang dipilih dan empat grafik deret waktu. Gunakan topologi untuk memahami layanan dan sumber daya yang menjadi dependensi tugas tersebut, serta gunakan grafik untuk mengidentifikasi tren seperti meningkatnya waktu eksekusi atau jumlah pengecualian yang terus bertambah.
| Grafik | Deskripsi |
|---|---|
| Number of runs | Jumlah eksekusi per jendela waktu |
| Average running time | Durasi rata-rata per eksekusi |
| Number of exceptions | Pengecualian Java yang terjadi selama eksekusi |
| Scheduling latency | Waktu tunda antara waktu pemicu terjadwal dan waktu mulai aktual |

Analisis SQL dan Analisis NoSQL
Tab SQL Analysis dan NoSql Analysis mencantumkan permintaan SQL dan NoSQL yang dipicu oleh tugas terjadwal yang dipilih. Gunakan tab ini untuk menemukan kueri lambat yang menyebabkan respons API menjadi lambat.

Untuk setiap pernyataan dalam daftar:
Klik Invocation Statistics pada kolom Actions untuk melihat grafik deret waktu statistik panggilan.
Klik Invocation Trace Query pada kolom Actions untuk melihat jejak terkait pernyataan tersebut. Untuk detailnya, lihat Lihat jejak.
Analisis pengecualian
Tab Exception Analysis mencantumkan pengecualian Java yang dilemparkan dari kode tugas terjadwal. Gunakan tab ini untuk mengidentifikasi masalah berulang pada level kode yang bersamaan dengan kegagalan tugas.
Untuk setiap pengecualian:
Klik Invocation Statistics pada kolom Actions untuk melihat grafik deret waktu yang menunjukkan seberapa sering pengecualian tersebut terjadi.
Klik Invocation Trace Query pada kolom Actions untuk melihat jejak terkait. Untuk detailnya, lihat Lihat jejak.
Analisis error
Tab Error Analysis menampilkan statistik error untuk tugas terjadwal. Gunakan tab ini untuk menghubungkan error tingkat aplikasi dengan data jejak dan log tertentu.

Untuk setiap error dalam daftar:
Klik ID jejak pada kolom TraceId untuk membuka detail jejak. Untuk informasi lebih lanjut, lihat Trace query.
Klik View Logs pada kolom Actions untuk melihat log error terkait.
Layanan downstream
Tab Downstream Services menampilkan semua layanan yang dipanggil oleh aplikasi. Gunakan tab ini untuk menentukan apakah dependensi yang gagal atau lambat memengaruhi kinerja tugas.
Setiap entri layanan mencakup tiga metrik kinerja:
| Metrik | Deskripsi |
|---|---|
| Response time | Latensi permintaan |
| Number of requests | Jumlah permintaan |
| Number of errors | Jumlah error |
Untuk menavigasi daftar:
Klik Expand/Collapse All untuk menampilkan atau menyembunyikan semua detail API sekaligus.
Masukkan nama aplikasi atau nama API pada kotak pencarian, lalu klik ikon Search untuk memfilter hasil.
Klik panel collapse atau ikon panah di ujung baris untuk menampilkan atau menyembunyikan metrik kinerja API tertentu.
Lihat jejak
Tab Interface Snapshot memberikan visibilitas tingkat jejak terhadap eksekusi tugas individual. Tab ini berisi dua grafik dan satu tabel detail.

Grafik total snapshot
Menampilkan jumlah jejak normal dan lambat dari waktu ke waktu. Jejak diklasifikasikan sebagai lambat jika waktu responsnya melebihi 500 milidetik. Ambang batas ini dikendalikan oleh parameter Interface Response Time Threshold dalam pengaturan aplikasi Anda.
Jumlah jejak lambat tidak mencakup sub-jejak yang dihasilkan oleh panggilan asinkron ke API on-premises.
Grafik waktu respons snapshot
Menunjukkan tren waktu respons dari waktu ke waktu. Grafik ini didasarkan pada data jejak yang diambil sampelnya dan dipengaruhi oleh laju pengambilan sampel yang dikonfigurasi untuk aplikasi Anda.
Tabel detail jejak
Mencantumkan jejak individual beserta metadata-nya. Klik nilai pada kolom TraceId untuk membuka tampilan jejak lengkap. Untuk informasi lebih lanjut, lihat Trace details.
Klik View Logs pada kolom Actions untuk melihat log yang terkait dengan jejak tertentu.
Untuk menghubungkan jejak dengan log aplikasi Anda, kaitkan ID jejak dengan log bisnis. Hal ini memungkinkan akses langsung ke log relevan saat melakukan troubleshooting error. Untuk petunjuk penyiapan, lihat Associate trace IDs with business logs.
Atasi masalah tugas terjadwal
Ketika tugas terjadwal berperilaku tidak sesuai harapan, gunakan pendekatan berikut untuk mempersempit akar masalah secara bertahap:
Periksa ikhtisar untuk anomali. Mulailah dari tab Overview. Perhatikan grafik deret waktu untuk mencari lonjakan latensi penjadwalan, peningkatan jumlah pengecualian, atau waktu eksekusi yang lebih lama dari biasanya.
Selidiki kueri lambat. Jika masalah melibatkan eksekusi lambat, buka SQL Analysis atau NoSql Analysis untuk menemukan kueri database lambat yang mungkin menghambat tugas.
Tinjau pengecualian. Periksa tab Exception Analysis untuk mencari pengecualian Java yang muncul bersamaan dengan anomali tersebut.
Periksa error aplikasi. Tinjau tab Error Analysis untuk error tingkat aplikasi, lalu klik untuk membuka jejak dan log terkait.
Periksa dependensi. Buka tab Downstream Services untuk menentukan apakah ada dependensi yang lambat atau mengembalikan error.
Lacak hingga akar masalah. Gunakan tab Interface Snapshot untuk memeriksa jejak individual dan mengidentifikasi rentang tepat tempat bottleneck atau kegagalan terjadi.