Topik ini menjelaskan format data pemantauan kinerja di Simple Log Service.
Bidang | Tipe | Deskripsi | Contoh |
aggTypes | String | Metode yang digunakan untuk mengumpulkan data. | sum |
dataType | String | Format data. | CallStack |
durationNs | Long | Durasi yang digunakan untuk menghasilkan profil. Unit: nanodetik. | 10000000000 |
labels | JSON | Informasi tag. | {"instance" : "10.10.10.10", "region" : "cn-hangzhou"} |
language | String | Jenis bahasa. | go |
name | String | Nama puncak tumpukan yang akurat hingga nama fungsi. | runtime.allocm /usr/local/go/src/runtime/proc.go |
profileID | String | UUID dari profil saat ini. | 517f3500-21ec-4536-9b5b-49e6b689f9ac |
stack | String | Hubungan panggilan dari lapisan kedua tumpukan ke dasar tumpukan. | runtime.newm /usr/local/go/src/runtime/proc.go runtime.startm /usr/local/go/src/runtime/proc.go runtime.handoffp /usr/local/go/src/runtime/proc.go runtime.stoplockedm /usr/local/go/src/runtime/proc.go runtime.schedule /usr/local/go/src/runtime/proc.go runtime.goschedImpl /usr/local/go/src/runtime/proc.go runtime.gopreempt_m /usr/local/go/src/runtime/proc.go runtime.newstack /usr/local/go/src/runtime/stack.go runtime.morestack /usr/local/go/src/runtime/asm_amd64.s |
stackID | String | Pengenal unik dari tumpukan panggilan. ID ini dapat digunakan untuk menanyakan statistik waktu eksekusi metode panggilan tumpukan yang berbeda. | 52431d987afe6f53 |
type | String | Jenis profil. | profile_mem |
units | String | Unit nilai. | bytes |
val | Double | Ukuran memori yang ditempati oleh fungsi. | 10000000,00 |
valueTypes | String | Jenis nilai. | cpu |
Tabel berikut menjelaskan pemetaan antara jenis profil, jenis nilai, dan unit nilai.
Jenis Profil | Jenis Nilai | Unit Nilai | Deskripsi |
profile_cpu | cpu | nanoseconds | Durasi eksekusi CPU. |
profile_cpu | wall | nanoseconds | Durasi eksekusi sebenarnya. |
profile_cpu | itimer | nanoseconds | Mirip dengan durasi eksekusi CPU. |
profile_mem | alloc_space | bytes | Ukuran memori yang dialokasikan. |
profile_mem | alloc_objects | count | Jumlah objek yang dialokasikan memori. |
profile_mem | inuse_space | bytes | Ukuran memori yang digunakan. |
profile_mem | inuse_objects | count | Jumlah objek yang menggunakan memori. |
profile_mem | alloc_in_new_tlab_bytes | bytes | Ukuran memori yang dialokasikan ke objek dalam Thread Local Allocation Buffer (TLAB) baru. |
profile_mem | alloc_in_new_tlab_objects | count | Jumlah objek dalam TLAB baru. |
profile_mem | alloc_outside_tlab_bytes | bytes | Ukuran memori yang dialokasikan ke objek di luar TLAB baru. |
profile_mem | alloc_outside_tlab_objects | count | Jumlah objek di luar TLAB baru. |
profile_goroutines | goroutines | count | Jumlah goroutine. |
profile_mutex | block_count | count | Jumlah kunci. |
profile_mutex | block_duration | nanoseconds | Durasi kunci. |
CPU: Waktu CPU yang digunakan untuk mengeksekusi blok kode. Anda dapat memperoleh waktu CPU yang digunakan untuk mengeksekusi instruksi berdasarkan waktu CPU yang digunakan untuk mengeksekusi fungsi. Waktu ini tidak mencakup waktu tunggu CPU atau waktu yang digunakan untuk memproses instruksi program lain.
Wall: Waktu sebenarnya yang digunakan untuk mengeksekusi blok kode. Waktu jam dinding suatu fungsi digunakan untuk mengukur durasi dari awal hingga akhir fungsi. Waktu jam dinding mencakup waktu tunggu, waktu kunci, dan waktu sinkronisasi thread. Waktu sebenarnya dari blok kode lebih besar daripada waktu CPU.
itimer: Mode itimer dipanggil berdasarkan sistem setitimer(ITIMER_PROF). Dalam skenario ideal, metrik dihasilkan setiap kali proses menggunakan slot waktu CPU.