本文介紹Log Service效能監控資料的格式。
欄位 | 類型 | 說明 | 樣本 |
aggTypes | String | 彙總方式。 | sum |
dataType | String | 資料格式。 | CallStack |
durationNs | Long | 一次Profile過程持續的時間。單位:納秒。 | 10000000000 |
labels | JSON | 標籤資訊。 | {"instance" : "10.10.10.10", "region" : "cn-hangzhou"} |
language | String | 語言類型。 | go |
name | String | 棧頂名,精確到函數名。 | runtime.allocm /usr/local/go/src/runtime/proc.go |
profileID | String | 此次Profile產生的UUID。 | 517f3500-21ec-4536-9b5b-49e6b689f9ac |
stack | String | 調用關係,從棧第二層到棧底。 | 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 | 標識唯一的調用棧,可用於統計不同調用棧方法的執行時間。 | 52431d987afe6f53 |
type | String | Profile類型。 | profile_mem |
units | String | 值的單位。 | bytes |
val | Double | 函數自身佔用值。 | 10000000.00 |
valueTypes | String | 值的類型。 | cpu |
其中,Profile類型、值的類型、值的單位之間的對應關係如下表所示。
Profile類型 | 屬性 | 單位 | 含義 |
profile_cpu | cpu | nanoseconds | CPU執行耗時 |
profile_cpu | wall | nanoseconds | 實際執行耗時。 |
profile_cpu | itimer | nanoseconds | 類似CPU執行耗時。 |
profile_mem | alloc_space | bytes | 記憶體配置總空間。 |
profile_mem | alloc_objects | count | 記憶體配置總數量。 |
profile_mem | inuse_space | bytes | 記憶體使用量總空間。 |
profile_mem | inuse_objects | count | 記憶體使用量總數量。 |
profile_mem | alloc_in_new_tlab_bytes | bytes | 建立新TLAB內對象空間。 |
profile_mem | alloc_in_new_tlab_objects | count | 建立新TLAB內對象大小。 |
profile_mem | alloc_outside_tlab_bytes | bytes | 建立新TLAB外對象空間。 |
profile_mem | alloc_outside_tlab_objects | count | 建立新TLAB外對象大小。 |
profile_goroutines | goroutines | count | Goroutine數量。 |
profile_mutex | block_count | count | 鎖定次數。 |
profile_mutex | block_duration | nanoseconds | 鎖定時間。 |
CPU:CPU執行代碼塊所花費的時間。通過函數的CPU時間,您可知CPU忙於執行指令的時間長度。該時間不包括CPU等待的時間或處理其他程式的指令的時間。
Wall:實際用時,即運行代碼塊所需的時間。函數的掛鐘時間用於測量函數從進入到退出所經過的時間。掛鐘時間包括所有等待時間、鎖定和線程同步時間。代碼塊的實際用時不會短於CPU時間。
itimer:itimer模式基於setitimer(ITIMER_PROF) 系統進行調用。理想情況下,它在進程消耗每個給定的CPU時間間隔內產生一個指標。