![]()
Dalam sistem pemantauan aplikasi seperti APM Jennifer, error merupakan data yang menunjukkan adanya kondisi abnormal yang terjadi selama proses monitoring. Error biasanya muncul ketika sebuah transaksi gagal dijalankan dengan benar akibat gangguan tertentu seperti kesalahan koneksi jaringan, kekurangan memori, kesalahan sintaks program, atau waktu respons yang melampaui batas. Karena semua error dikumpulkan secara menyeluruh, jumlahnya dapat melebihi jumlah transaksi, sebab satu transaksi bisa menghasilkan beberapa error sekaligus. Setiap error memiliki tipe dan karakteristik yang berbeda, dan dapat dilihat melalui tampilan X-view Transaction Analysis, di mana setiap transaksi yang mengalami kegagalan dapat dianalisis secara detail.
Baca juga: Mengenal Fitur APM Jennifer Pada X-view.
Tonton video mengenai: Pembaruan Halaman Analisis Transaksi X-View APM Jennifer Versi 5.
Jenis-Jenis Error
Berikut adalah berbagai jenis Error yang umum muncul dalam Analisis Error pada APM Jennifer, beserta deskripsinya:
Error Tipe Deskripsi Penyebab Umum Rekomendasi / Mitigasi HTTP_IO_EXCEPTION Transaksi terhenti karena terjadi IOException Koneksi HTTP putus, timeout, masalah jaringan. Periksa koneksi jaringan dan atur timeout; gunakan retry logic atau circuit breaker. HTTP_404_ERROR Resource yang diminta tidak ditemukan. URL salah, endpoint tidak tersedia. Pastikan routing benar dan endpoint aktif. OUT_OF_MEMORY Transaksi berhenti karena kekurangan memori. Memory leak, konfigurasi heap kecil. Optimasi memory usage, profiling heap, perbesar limit. SERVICE_EXCEPTION Exception umum sel ain IO/OutOfMemory. NullPointerException, IllegalArgument, dll. Tambahkan handling exception dan validasi input. SERVICE_ERROR Transaksi berhenti karena Java error.
Error runtime atau classpath. Cek dependensi dan update library. DB_CONNECTION_UNCLOSED Koneksi database tidak ditutup. Lupa close() pada koneksi.
Gunakan connection pool dan pastikan ditutup dalam finally block.
DB_STATEMENT_UNCLOSED Statement tidak ditutup setelah digunakan. Resource leak pada statement. Gunakan try-with-resources. DB_RESULTSET_UNCLOSED ResultSet tidak ditutup. Lupa menutup ResultSet setelah query. Selalu tutup ResultSet atau gunakan ORM. PLC_REJECTED Request ditolak oleh fungsi Peak Load Control (PLC). Sistem dalam kondisi beban puncak. Sesuaikan threshold PLC atau tambah kapasitas. DEADLOCK Terjadi deadlock antar-thread. Locking tidak konsisten antar proses. Analisa trace dan perbaiki urutan penguncian. METHOD_EXCEPTION Method profiled berhenti karena exception. Exception pada business logic. Logging detil, validasi parameter method. RECURSIVE_CALL Pemanggilan servlet/JSP terlalu dalam. Forward/include berulang. Cegah loop forward, atur batas recursion. REPETITIVE_CALL Request berulang dari IP yang sama. Loop client, retry bug, DDoS. Rate limit per IP atau gunakan captcha. SQL_EXCEPTION Exception saat menjalankan query SQL. Query error, constraint violation. Gunakan parameterized query, validasi input SQL. SQL_TOOMANY_FETCH Jumlah fetch SQL melebihi batas (10.000). Query tanpa limit/pagination. Gunakan LIMIT, pagination, atau batching. EXTERNALCALL_EXCEPTION External call berhenti karena exception. Timeout, service eksternal gagal. Implementasi retry dan circuit breaker. DB_CONNECTION_FAIL Koneksi ke database gagal. DB down, kredensial salah. Cek konektivitas dan health DB. DB_UN_COMMIT_ROLLBACK Koneksi ditutup tanpa commit/rollback. Transaksi tidak tertutup. Pastikan commit/rollback selalu dijalankan. DB_CONNECTION_ILLEGAL_ACCESS Thread pengguna berbeda dengan pembuat koneksi. Sharing connection antar-thread. Gunakan connection pool dengan isolasi thread. CORE_ERROR Error inisialisasi engine PHP. Modul PHP rusak, konfigurasi salah. Periksa log PHP dan reinstall extension. COMPILE_ERROR Error saat kompilasi PHP script. Syntax error, file rusak. Perbaiki syntax, gunakan lint sebelum deploy. PARSE_ERROR Error parsing PHP script. Struktur kode tidak valid. Validasi syntax dan jalankan unit test. PHP_WARNING Peringatan saat eksekusi PHP. Fungsi deprecated atau variabel tidak didefinisikan. Bersihkan warning, aktifkan strict mode. NATIVE_CRITICAL_ERROR Segmentation fault atau abort signal. Bug native extension. Update library native, isolasi ekstensi. BAD_RESPONSE_TIME_APPLICATION Response time aplikasi melebihi ambang (30s). Query lambat, blocking I/O. Profiling dan optimasi kode lambat. BAD_RESPONSE_TIME_SQL Response SQL melebihi ambang (20s). Query kompleks tanpa indeks. Buat indeks, optimalkan SQL. BAD_RESPONSE_TIME_EXTERNAL_CALL Waktu respon external call melebihi batas (20s). API eksternal lambat. Gunakan caching, async call, dan timeout. AGENT_STOP Agen kehilangan koneksi ke server data. Server dimatikan atau jaringan terputus. Cek log agent, network, restart jika perlu. AGENT_START Aplikasi baru terhubung ke data server. Startup aplikasi normal. Tidak perlu tindakan; event informatif. AGENT_RECONNECT Reconnect karena gangguan sementara. Network flapping, restart agent. Periksa kestabilan koneksi jaringan. THREAD_KILL_MANUAL Transaksi dihentikan manual oleh pengguna. Admin menghentikan proses aktif. Validasi alasan stop dan dokumentasikan. THREAD_KILL_AUTO Transaksi dihentikan otomatis oleh JENNIFER. Timeout atau auto-stop aktif. Tuning threshold dan perbaiki slow transaction. NOT_ENOUGH_DISK_SPACE Ruang disk agent melebihi ambang batas. Log tidak dirotasi, file besar. Bersihkan log, aktifkan log rotation, tambah kapasitas disk.
⚠️ Catatan Penting:
- Harap jangan bingung antara ERROR dan EVENT. ERROR adalah catatan tentang suatu kondisi abnormal (tidak normal), sedangkan ERROR dapat dianggap sebagai EVENT jika administrator menetapkan aturan tertentu.
Untuk informasi lebih lanjut tentang EVENT, lihat bagian EVENT Monitoring.- Ketika terjadi ERROR tertentu saat aplikasi berjalan, transaksi yang terkait akan diproses sebagai kegagalan (failure).
Jenis Error di APM Jennifer
Typography
- Smaller Small Medium Big Bigger
- Default Helvetica Segoe Georgia Times
- Reading Mode