All Products
Search
Document Center

Simple Log Service:Format of performance monitoring data

Last Updated:Oct 24, 2023

This topic describes the format of performance monitoring data in Simple Log Service.

Field

Type

Description

Example

aggTypes

String

The method that is used to aggregate data.

sum

dataType

String

The data format.

CallStack

durationNs

Long

The duration that is used to generate the profile. Unit: nanoseconds.

10000000000

labels

JSON

The tag information.

{"instance" : "10.10.10.10", "region" : "cn-hangzhou"}

language

String

The language type.

go

name

String

The stack top name that is accurate to the function name.

runtime.allocm /usr/local/go/src/runtime/proc.go

profileID

String

The UUID of the current profile.

517f3500-21ec-4536-9b5b-49e6b689f9ac

stack

String

The call relationship from the second layer of the stack to the stack bottom.

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

The unique identifier of the call stack. The ID can be used to query statistics on the execution time of different stack call methods.

52431d987afe6f53

type

String

The profile type.

profile_mem

units

String

The value unit.

bytes

val

Double

The size of the memory that is occupied by the function.

10000000.00

valueTypes

String

The value type.

cpu

The following table describes the mappings among the profile type, value type, and value unit.

Profile type

Value type

Value unit

Description

profile_cpu

cpu

nanoseconds

The CPU execution duration.

profile_cpu

wall

nanoseconds

The actual execution duration.

profile_cpu

itimer

nanoseconds

Similar to the CPU execution duration.

profile_mem

alloc_space

bytes

The size of allocated memory.

profile_mem

alloc_objects

count

The number of objects to which the memory is allocated.

profile_mem

inuse_space

bytes

The size of used memory.

profile_mem

inuse_objects

count

The number of objects that use memory.

profile_mem

alloc_in_new_tlab_bytes

bytes

The size of memory that is allocated to the objects in the new Thread Local Allocation Buffer (TLAB).

profile_mem

alloc_in_new_tlab_objects

count

The number of objects in the new TLAB.

profile_mem

alloc_outside_tlab_bytes

bytes

The size of memory that is allocated to the objects outside the new TLAB.

profile_mem

alloc_outside_tlab_objects

count

The number of objects outside the new TLAB.

profile_goroutines

goroutines

count

The number of goroutines.

profile_mutex

block_count

count

The number of locks.

profile_mutex

block_duration

nanoseconds

The lock duration.

  • CPU: The CPU time that is used to execute code blocks. You can obtain the CPU time that is used to execute instructions based on the CPU time that is used to execute functions. This time does not include the CPU wait time or the time that is used to process the instructions of other programs.

  • Wall: The actual time that is used to execute code blocks. The wall clock time of a function is used to measure the duration from the start to exit of the function. The wall clock time includes wait time, lock time, and thread synchronization time. The actual time of code blocks is larger than the CPU time.

  • itimer: The itimer mode is called based on the setitimer(ITIMER_PROF) system. In ideal scenarios, a metric is generated each time when a process consumes a CPU time slot.