Error Reporting memungkinkan Anda mengidentifikasi, memprioritaskan, dan menyeleksi masalah di seluruh layanan cloud dengan menggabungkan peristiwa error aplikasi berdasarkan akar masalahnya. Peristiwa error mewakili satu error aplikasi, yang mencatat stempel waktu, konteks eksekusi, dan pesannya. Error Reporting mengumpulkan peristiwa langsung dari Error Reporting API atau menyimpulkannya dengan memindai entri log untuk mengetahui stack trace dan pola error umum.
Untuk mengoptimalkan performa, Pelaporan Error mengambil sampel hingga 1.000 error per jam, dan memperkirakan jumlahnya saat mencapai batas ini. Jika volume peristiwa melebihi kapasitas, Pelaporan Error akan mengambil sampel hingga 100 error per jam dan terus mengekstrapolasi jumlah yang ditampilkan.
Saat Error Reporting menganalisis entri log
Error Reporting adalah layanan global yang dibangun di atas Cloud Logging dan dapat menganalisis entri log jika semua hal berikut benar:
- Assured Workloads dinonaktifkan. Untuk mengetahui informasi selengkapnya, lihat Ringkasan Assured Workloads.
- Kunci enkripsi yang dikelola pelanggan (CMEK) dinonaktifkan di semua bucket log yang menyimpan entri log. Error Reporting tidak dapat menyimpan entri log di bucket log yang mengaktifkan CMEK. Untuk mengetahui informasi tentang cara menentukan konfigurasi CMEK untuk bucket log, lihat Memverifikasi pengaktifan kunci.
- Bucket log memenuhi salah satu hal berikut:
- Bucket log disimpan di project yang sama dengan tempat entri log berasal.
- Entri log dirutekan ke project, lalu project tersebut menyimpan entri log tersebut di bucket log miliknya.
Cara pengelompokan peristiwa error
Saat mengevaluasi entri log untuk mengidentifikasi peristiwa error, Error Reporting mengabaikan data berikut:
- Entri log yang ditulis oleh lingkungan standar App Engine yang memiliki tingkat keparahan lebih rendah dari
ERROR. - Frame stack yang bukan milik pengguna, seperti yang dimiliki oleh library publik.
Saat entri log dipindai, Error Reporting melakukan modifikasi berikut sebelum menyimpulkan peristiwa error:
- Mengganti urutan berulang dari satu atau beberapa frame stack dengan satu kemunculan urutan tersebut.
- Menghapus metode dan simbol yang diperkenalkan oleh compiler.
Error Reporting menerapkan aturan ini, dalam urutan yang ditentukan, untuk mengelompokkan peristiwa error:
| Peristiwa error | Dikelompokkan berdasarkan |
|---|---|
| Peristiwa error yang disebabkan oleh masalah umum di lingkungan.
Misalnya, masalah khusus untuk App Engine: com.google.apphosting.runtime.HardDeadlineExceededError com.google.appengine.api.datastore.DatastoreTimeoutException Masalah Java: java.util.concurrent.CancellationException |
Dikelompokkan menurut jenis pengecualian. |
| Peristiwa error dengan stack trace. Dalam kasus pengecualian
bertingkat, pengecualian paling dalam yang dipertimbangkan.
Contoh: runtime error: index out of range
package1.func1()
file1:20
package2.func2()
file2:33 |
Dikelompokkan berdasarkan jenis pengecualian dan lima frame teratas. |
| Peristiwa error tanpa stack trace, tetapi dengan pesan.
Contoh: runtime error: index out of range
func1()Dalam contoh ini, token berikut dipertimbangkan:
|
Dikelompokkan menurut pesan dan (jika ada) nama fungsi. Hanya tiga token literal pertama pesan yang dipertimbangkan. |
Regionalitas data
Jika Anda menyiapkan Assured Workloads untuk persyaratan residensi data atau Tingkat Dampak 4 (IL4), maka Google Cloud Pelaporan Error akan otomatis dinonaktifkan.
Di Cloud Logging, Anda dapat membuat log Anda menjadi regional dengan merutekannya ke lokasi tertentu. Di halaman Grup Error,
Error Reporting mengatur dan menampilkan grup error berdasarkan
region bucket log yang berisi entri log. Misalnya,
grup error yang tercantum di us-central1 hanya berisi log error
yang merupakan bagian dari bucket log di us-central1. Grup error global hanya berisi log error yang merupakan bagian dari bucket log di region global.
Untuk memfilter wilayah grup error yang ditampilkan di halaman Grup Error,
pilih nilai dari menu Wilayah. Menu ini memiliki nilai default
global.
