TracePacket
TracePacket is the root object of a Perfetto trace. A Perfetto trace is a linear sequence of TracePacket(s).
The tracing service guarantees that all TracePacket(s) written by a given TraceWriter are seen in-order, without gaps or duplicates. If, for any reason, a TraceWriter sequence becomes invalid, no more packets are returned to the Consumer (or written into the trace file). TracePacket(s) written by different TraceWriter(s), hence even different data sources, can be seen in arbitrary order. The consumer can re-establish a total order, if interested, using the packet timestamps, after having synchronized the different clocks onto a global clock.
The tracing service is agnostic of the content of TracePacket, with the exception of few fields (e.g.. trusted_*, trace_config) that are written by the service itself.
See the Buffers and Dataflow doc for details.
Defined in trace_packet.proto
Fields:
Field | Type | Description |
---|---|---|
timestamp | uint64 | The timestamp of the TracePacket. By default this timestamps refers to the trace clock (CLOCK_BOOTTIME on Android). It can be overridden using a different timestamp_clock_id. The clock domain definition in ClockSnapshot can also override: - The unit (default: 1ns). - The absolute vs delta encoding (default: absolute timestamp). |
timestamp_clock_id | uint32 | Specifies the ID of the clock used for the TracePacket timestamp . Can be one of the built-in types from ClockSnapshot::BuiltinClocks, or a producer-defined clock id.If unspecified and if no default per-sequence value has been provided via TracePacketDefaults, it defaults to BuiltinClocks::BOOTTIME. |
process_tree | ProcessTree | |
process_stats | ProcessStats | |
inode_file_map | InodeFileMap | |
chrome_events | ChromeEventBundle | |
clock_snapshot | ClockSnapshot | |
sys_stats | SysStats | |
track_event | TrackEvent | |
trace_uuid | TraceUuid | |
trace_config | TraceConfig | |
ftrace_stats | FtraceStats | |
trace_stats | TraceStats | |
profile_packet | ProfilePacket | |
streaming_allocation | StreamingAllocation | |
streaming_free | StreamingFree | |
battery | BatteryCounters | |
power_rails | PowerRails | |
android_log | AndroidLogPacket | |
system_info | SystemInfo | |
trigger | Trigger | |
chrome_trigger | ChromeTrigger | |
packages_list | PackagesList | |
chrome_benchmark_metadata | ChromeBenchmarkMetadata | |
perfetto_metatrace | PerfettoMetatrace | |
chrome_metadata | ChromeMetadataPacket | |
gpu_counter_event | GpuCounterEvent | |
gpu_render_stage_event | GpuRenderStageEvent | |
streaming_profile_packet | StreamingProfilePacket | |
heap_graph | HeapGraph | |
graphics_frame_event | GraphicsFrameEvent | |
vulkan_memory_event | VulkanMemoryEvent | |
gpu_log | GpuLog | |
vulkan_api_event | VulkanApiEvent | |
perf_sample | PerfSample | |
cpu_info | CpuInfo | |
smaps_packet | SmapsPacket | |
service_event | TracingServiceEvent | |
initial_display_state | InitialDisplayState | |
gpu_mem_total_event | GpuMemTotalEvent | |
memory_tracker_snapshot | MemoryTrackerSnapshot | |
frame_timeline_event | FrameTimelineEvent | |
android_energy_estimation_breakdown | AndroidEnergyEstimationBreakdown | |
ui_state | UiState | |
android_camera_frame_event | AndroidCameraFrameEvent | |
android_camera_session_stats | AndroidCameraSessionStats | |
translation_table | TranslationTable | |
android_game_intervention_list | AndroidGameInterventionList | |
statsd_atom | StatsdAtom | |
android_system_property | AndroidSystemProperty | |
entity_state_residency | EntityStateResidency | |
profiled_frame_symbols | ProfiledFrameSymbols | Only used in profile packets. |
module_symbols | ModuleSymbols | |
deobfuscation_mapping | DeobfuscationMapping | |
track_descriptor | TrackDescriptor | Only used by TrackEvent. |
process_descriptor | ProcessDescriptor | Deprecated, use TrackDescriptor instead. |
thread_descriptor | ThreadDescriptor | Deprecated, use TrackDescriptor instead. |
ftrace_events | FtraceEventBundle | Events from the Linux kernel ftrace infrastructure. |
synchronization_marker | bytes | This field is emitted at periodic intervals (~10s) and contains always the binary representation of the UUID {82477a76-b28d-42ba-81dc-33326d57a079}. This is used to be able to efficiently partition long traces without having to fully parse them. |
compressed_packets | bytes | Zero or more proto encoded trace packets compressed using deflate. Each compressed_packets TracePacket (including the two field ids and sizes) should be less than 512KB. |
extension_descriptor | ExtensionDescriptor | Data sources can extend the trace proto with custom extension protos (see docs/design-docs/extensions.md). When they do that, the descriptor of their extension proto descriptor is serialized in this packet. This allows trace_processor to deserialize extended messages using reflection even if the extension proto is not checked in the Perfetto repo. |
network_packet | NetworkPacketEvent | Represents a single packet sent or received by the network. |
network_packet_bundle | NetworkPacketBundle | Represents one or more packets sent or received by the network. |
track_event_range_of_interest | TrackEventRangeOfInterest | The "range of interest" for track events. See the message definition comments for more details. |
surfaceflinger_layers_snapshot | LayersSnapshotProto | Winscope traces |
surfaceflinger_transactions | TransactionTraceEntry | |
shell_transition | ShellTransition | |
shell_handler_mappings | ShellHandlerMappings | |
protolog_message | ProtoLogMessage | |
protolog_viewer_config | ProtoLogViewerConfig | |
winscope_extensions | WinscopeExtensions | |
etw_events | EtwTraceEventBundle | Events from the Windows etw infrastructure. |
v8_js_code | V8JsCode | |
v8_internal_code | V8InternalCode | |
v8_wasm_code | V8WasmCode | |
v8_reg_exp_code | V8RegExpCode | |
v8_code_move | V8CodeMove | |
remote_clock_sync | RemoteClockSync | Clock synchronization with remote machines. |
pixel_modem_events | PixelModemEvents | |
pixel_modem_token_database | PixelModemTokenDatabase | |
clone_snapshot_trigger | Trigger | |
for_testing | TestEvent | This field is only used for testing. In previous versions of this proto this field had the id 268435455 This caused many problems: - protozero decoder does not handle field ids larger than 999. - old versions of protoc produce Java bindings with syntax errors when the field id is large enough. |
trusted_uid | int32 | |
trusted_packet_sequence_id | uint32 | |
trusted_pid | int32 | Trusted process id of the producer which generated this packet, written by the service. |
interned_data | InternedData | Incrementally emitted interned data, valid only on the packet's sequence (packets with the same trusted_packet_sequence_id ). The writer will usually emit new interned data in the same TracePacket that first refers to it (since the last reset of interning state). It may also be emitted proactively in advance of referring to them in later packets. |
sequence_flags | uint32 | |
incremental_state_cleared | bool | DEPRECATED. Moved to SequenceFlags::SEQ_INCREMENTAL_STATE_CLEARED. |
trace_packet_defaults | TracePacketDefaults | Default values for fields of later TracePackets emitted on this packet's sequence (TracePackets with the same trusted_packet_sequence_id ).It must be reemitted when incremental state is cleared (see incremental_state_cleared ).Requires that any future packet emitted on the same sequence specifies the SEQ_NEEDS_INCREMENTAL_STATE flag. TracePacketDefaults always override the global defaults for any future packet on this sequence (regardless of SEQ_NEEDS_INCREMENTAL_STATE). |
previous_packet_dropped | bool | Flag set by the service if, for the current packet sequence (see trusted_packet_sequence_id ), either:* this is the first packet, or * one or multiple packets were dropped since the last packet that the consumer read from the sequence. This can happen if chunks in the trace buffer are overridden before the consumer could read them when the trace is configured in ring buffer mode. When packet loss occurs, incrementally emitted data (including interned data) on the sequence should be considered invalid up until the next packet with SEQ_INCREMENTAL_STATE_CLEARED set. |
first_packet_on_sequence | bool | Flag set by a producer (starting from SDK v29) if, for the current packet sequence (see trusted_packet_sequence_id ), this is the first packet.This flag can be used for distinguishing the two situations when processing the trace: 1. There are no prior events for the sequence because of data loss, e.g. due to ring buffer wrapping. 2. There are no prior events for the sequence because it didn't start before this packet (= there's definitely no preceding data loss). Given that older SDK versions do not support this flag, this flag not being present for a particular sequence does not necessarily imply data loss. |
machine_id | uint32 | The machine ID for identifying trace packets in a multi-machine tracing session. Is emitted by the tracing service for producers running on a remote host (e.g. a VM guest). For more context: go/crosetto-vm-tracing. |
ProcessTree
Metadata about the processes and threads in the trace. Note: this proto was designed to be filled in by traced_probes and should only be populated with accurate information coming from the system. Other trace writers should prefer to fill ThreadDescriptor and ProcessDescriptor in TrackDescriptor.
Defined in process_tree.proto
Fields:
Field | Type | Description |
---|---|---|
processes | Process[] | List of processes and threads in the client. These lists are incremental and not exhaustive. A process and its threads might show up separately in different ProcessTree messages. A thread might event not show up at all, if no sched_switch activity was detected, for instance: #0 { processes: [{pid: 10, ...}], threads: [{pid: 11, tgid: 10}] } #1 { threads: [{pid: 12, tgid: 10}] } #2 { processes: [{pid: 20, ...}], threads: [{pid: 13, tgid: 10}] } |
threads | Thread[] | |
collection_end_timestamp | uint64 | The time at which we finish collecting this process tree; the top-level packet timestamp is the time at which we begin collection. |
ProcessTree.Process
Representation of a process.
Defined in process_tree.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | The UNIX process ID, aka thread group ID (as per getpid()) in the root PID namespace. |
ppid | int32 | The parent process ID, as per getppid(). |
cmdline | string[] | The command line for the process, as per /proc/pid/cmdline. If it is a kernel thread there will only be one cmdline field and it will contain /proc/pid/comm. |
uid | int32 | The uid for the process, as per /proc/pid/status. |
nspid | int32[] | The non-root-level process IDs if the process runs in a PID namespace. Read from the NSpid entry of /proc/ |
process_start_from_boot | uint64 | Timestamp of when the process was created, in nanoseconds from boot. Parsed from starttime in /proc/pid/stat. Recorded if record_process_age config option is set. Resolution of "clock ticks", usually 10ms. |
ProcessTree.Thread
Representation of a thread.
Defined in process_tree.proto
Fields:
Field | Type | Description |
---|---|---|
tid | int32 | The thread ID (as per gettid()) in the root PID namespace. |
tgid | int32 | Thread group id (i.e. the PID of the process, == TID of the main thread) |
name | string | The name of the thread. |
nstid | int32[] | The non-root-level thread IDs if the thread runs in a PID namespace. Read from the NSpid entry of /proc/ |
ProcessStats
Per-process periodically sampled stats. These samples are wrapped in a dedicated message (as opposite to be fields in process_tree.proto) because they are dumped at a different rate than cmdline and thread list. Note: not all of these stats will be present in every ProcessStats message and sometimes processes may be missing. This is because counters are cached to reduce emission of counters which do not change.
Defined in process_stats.proto
Fields:
Field | Type | Description |
---|---|---|
processes | Process[] | |
collection_end_timestamp | uint64 | The time at which we finish collecting this batch of samples; the top-level packet timestamp is the time at which we begin collection. |
ProcessStats.Process
Defined in process_stats.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | |
threads | Thread[] | |
vm_size_kb | uint64 | See /proc/[pid]/status in man 5 proc for a description of these fields. |
vm_rss_kb | uint64 | |
rss_anon_kb | uint64 | |
rss_file_kb | uint64 | |
rss_shmem_kb | uint64 | |
vm_swap_kb | uint64 | |
vm_locked_kb | uint64 | |
vm_hwm_kb | uint64 | |
oom_score_adj | int64 | |
is_peak_rss_resettable | bool | The peak resident set size is resettable in newer Posix kernels. This field specifies if reset is supported and if the writer had reset the peaks after each process stats recording. |
chrome_private_footprint_kb | uint32 | Private, shared and swap footprint of the process as measured by Chrome. To know more about these metrics refer to: https://docs.google.com/document/d/1_WmgE1F5WUrhwkPqJis3dWyOiUmQKvpXp5cd4w86TvA |
chrome_peak_resident_set_kb | uint32 | |
fds | FDInfo[] | |
smr_rss_kb | uint64 | These fields are set only when scan_smaps_rollup=true |
smr_pss_kb | uint64 | |
smr_pss_anon_kb | uint64 | |
smr_pss_file_kb | uint64 | |
smr_pss_shmem_kb | uint64 | |
smr_swap_pss_kb | uint64 | |
runtime_user_mode | uint64 | Time spent scheduled in user mode in nanoseconds. Parsed from utime in /proc/pid/stat. Recorded if record_process_runtime config option is set. Resolution of "clock ticks", usually 10ms. |
runtime_kernel_mode | uint64 | Time spent scheduled in kernel mode in nanoseconds. Parsed from stime in /proc/pid/stat. Recorded if record_process_runtime config option is set. Resolution of "clock ticks", usually 10ms. |
ProcessStats.Thread
Per-thread periodically sampled stats. Note: not all of these stats will be present in every message. See the note for ProcessStats.
Defined in process_stats.proto
Fields:
Field | Type | Description |
---|---|---|
tid | int32 |
ProcessStats.FDInfo
Defined in process_stats.proto
Fields:
Field | Type | Description |
---|---|---|
fd | uint64 | |
path | string |
InodeFileMap
Represents the mapping between inode numbers in a block device and their path on the filesystem
Defined in inode_file_map.proto
Fields:
Field | Type | Description |
---|---|---|
block_device_id | uint64 | |
mount_points | string[] | The mount points of the block device, e.g. ["system"]. |
entries | Entry[] | The list of all the entries from the block device |
InodeFileMap.Entry
Representation of Entry
Defined in inode_file_map.proto
Fields:
Field | Type | Description |
---|---|---|
inode_number | uint64 | |
paths | string[] | The path to the file, e.g. "etc/file.xml" List of strings for multiple hardlinks |
type | Type |
InodeFileMap.Entry.Type
The file type
Defined in inode_file_map.proto
Enum values:
Name | Value | Description |
---|---|---|
UNKNOWN | 0 | |
FILE | 1 | |
DIRECTORY | 2 |
ChromeEventBundle
Defined in chrome_trace_event.proto
Fields:
Field | Type | Description |
---|---|---|
trace_events | ChromeTraceEvent[] | Deprecated, use TrackEvent protos instead. |
metadata | ChromeMetadata[] | which contains typed fields. |
legacy_ftrace_output | string[] | ftrace output from CrOS and Cast system tracing agents. |
legacy_json_trace | ChromeLegacyJsonTrace[] | |
string_table | ChromeStringTableEntry[] | Contents of a string table that's valid for the whole ChromeEventBundle entry. |
ChromeTraceEvent
Deprecated, use TrackEvent protos instead.
Defined in chrome_trace_event.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
timestamp | int64 | |
phase | int32 | |
thread_id | int32 | |
duration | int64 | |
thread_duration | int64 | |
scope | string | |
id | uint64 | |
flags | uint32 | |
category_group_name | string | |
process_id | int32 | |
thread_timestamp | int64 | |
bind_id | uint64 | |
args | Arg[] | |
name_index | uint32 | Takes precedence over respectively name and category_group_name_index if set, and are indices into string_table . |
category_group_name_index | uint32 |
ChromeTraceEvent.Arg
Defined in chrome_trace_event.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
bool_value | bool | |
uint_value | uint64 | |
int_value | int64 | |
double_value | double | |
string_value | string | |
pointer_value | uint64 | Pointers are stored in a separate type as the JSON output treats them differently from other uint64 values. |
json_value | string | |
traced_value | ChromeTracedValue | |
name_index | uint32 | Takes precedence over name if set, and is an index into string_table . |
ChromeTracedValue
Defined in chrome_trace_event.proto
Fields:
Field | Type | Description |
---|---|---|
nested_type | NestedType | |
dict_keys | string[] | |
dict_values | ChromeTracedValue[] | |
array_values | ChromeTracedValue[] | |
int_value | int32 | |
double_value | double | |
bool_value | bool | |
string_value | string |
ChromeTracedValue.NestedType
Defined in chrome_trace_event.proto
Enum values:
Name | Value | Description |
---|---|---|
DICT | 0 | |
ARRAY | 1 |
ChromeMetadata
Defined in chrome_trace_event.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
string_value | string | |
bool_value | bool | |
int_value | int64 | |
json_value | string |
ChromeLegacyJsonTrace
Subtraces produced in legacy json format by Chrome tracing agents not yet updated to support the new binary format, e.g. ETW and CrOS ARC.
Defined in chrome_trace_event.proto
Fields:
Field | Type | Description |
---|---|---|
type | TraceType | |
data | string |
ChromeLegacyJsonTrace.TraceType
Defined in chrome_trace_event.proto
Enum values:
Name | Value | Description |
---|---|---|
USER_TRACE | 0 | |
SYSTEM_TRACE | 1 | Deprecated. |
ChromeStringTableEntry
Defined in chrome_trace_event.proto
Fields:
Field | Type | Description |
---|---|---|
value | string | |
index | int32 |
ClockSnapshot
A snapshot of clock readings to allow for trace alignment.
Defined in clock_snapshot.proto
Fields:
Field | Type | Description |
---|---|---|
clocks | Clock[] | |
primary_trace_clock | BuiltinClock | The authoritative clock domain for the trace. Defaults to BOOTTIME, but can be overridden in TraceConfig's builtin_data_sources. Trace processor will attempt to translate packet/event timestamps from various data sources (and their chosen clock domains) to this domain during import. |
ClockSnapshot.Clock
Defined in clock_snapshot.proto
Fields:
Field | Type | Description |
---|---|---|
clock_id | uint32 | Clock IDs have the following semantic: [1, 63]: Builtin types, see BuiltinClock from ../common/builtin_clock.proto. [64, 127]: User-defined clocks. These clocks are sequence-scoped. They are only valid within the same trusted_packet_sequence_id (i.e. only for TracePacket(s) emitted by the same TraceWriter that emitted the clock snapshot).[128, MAX]: Reserved for future use. The idea is to allow global clock IDs and setting this ID to hash(full_clock_name) & ~127. |
timestamp | uint64 | Absolute timestamp. Unit is ns unless specified otherwise by the unit_multiplier_ns field below. |
is_incremental | bool | When true each TracePacket's timestamp should be interpreted as a delta from the last TracePacket's timestamp (referencing this clock) emitted by the same packet_sequence_id. Should only be used for user-defined sequence-local clocks. The first packet timestamp after each ClockSnapshot that contains this clock is relative to the timestamp in the ClockSnapshot. |
unit_multiplier_ns | uint64 | Allows to specify a custom unit different than the default (ns) for this clock domain. A multiplier of 1000 means that a timestamp = 3 should be interpreted as 3000 ns = 3 us. All snapshots for the same clock within a trace need to use the same unit. |
BuiltinClock
Defined in builtin_clock.proto
Enum values:
Name | Value | Description |
---|---|---|
BUILTIN_CLOCK_UNKNOWN | 0 | |
BUILTIN_CLOCK_REALTIME | 1 | |
BUILTIN_CLOCK_REALTIME_COARSE | 2 | |
BUILTIN_CLOCK_MONOTONIC | 3 | |
BUILTIN_CLOCK_MONOTONIC_COARSE | 4 | |
BUILTIN_CLOCK_MONOTONIC_RAW | 5 | |
BUILTIN_CLOCK_BOOTTIME | 6 | |
BUILTIN_CLOCK_TSC | 9 | |
BUILTIN_CLOCK_PERF | 10 | |
BUILTIN_CLOCK_MAX_ID | 63 |
SysStats
Various Linux system stat counters from /proc. The fields in this message can be reported at different rates and with different granularity. See sys_stats_config.proto.
Defined in sys_stats.proto
Fields:
Field | Type | Description |
---|---|---|
meminfo | MeminfoValue[] | |
vmstat | VmstatValue[] | |
cpu_stat | CpuTimes[] | One entry per cpu. |
num_forks | uint64 | Num processes forked since boot. Populated only if FORK_COUNT in config.stat_counters. |
num_irq_total | uint64 | Total num of irqs serviced since boot. |
num_irq | InterruptCount[] | |
num_softirq_total | uint64 | Total num of softirqs since boot. |
num_softirq | InterruptCount[] | Per-softirq count. |
collection_end_timestamp | uint64 | The time at which we finish collecting this set of samples; the top-level packet timestamp is the time at which we begin collection. |
devfreq | DevfreqValue[] | One entry per device. |
cpufreq_khz | uint32[] | Cpu current frequency from /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq in kHz. One entry per cpu. Report 0 for offline cpu |
buddy_info | BuddyInfo[] | One entry per each node's zones. |
disk_stat | DiskStat[] | One entry per disk device. |
psi | PsiSample[] | One entry per PsiResource type. |
thermal_zone | ThermalZone[] | |
cpuidle_state | CpuIdleState[] | |
gpufreq_mhz | uint64[] | Read GPU frequency info on Intel/AMD devices. |
SysStats.MeminfoValue
Counters from /proc/meminfo. Values are in KB.
Defined in sys_stats.proto
Fields:
Field | Type | Description |
---|---|---|
key | MeminfoCounters | |
value | uint64 |
MeminfoCounters
Counter definitions for Linux's /proc/meminfo.
Defined in sys_stats_counters.proto
Enum values:
Name | Value | Description |
---|---|---|
MEMINFO_UNSPECIFIED | 0 | |
MEMINFO_MEM_TOTAL | 1 | |
MEMINFO_MEM_FREE | 2 | |
MEMINFO_MEM_AVAILABLE | 3 | |
MEMINFO_BUFFERS | 4 | |
MEMINFO_CACHED | 5 | |
MEMINFO_SWAP_CACHED | 6 | |
MEMINFO_ACTIVE | 7 | |
MEMINFO_INACTIVE | 8 | |
MEMINFO_ACTIVE_ANON | 9 | |
MEMINFO_INACTIVE_ANON | 10 | |
MEMINFO_ACTIVE_FILE | 11 | |
MEMINFO_INACTIVE_FILE | 12 | |
MEMINFO_UNEVICTABLE | 13 | |
MEMINFO_MLOCKED | 14 | |
MEMINFO_SWAP_TOTAL | 15 | |
MEMINFO_SWAP_FREE | 16 | |
MEMINFO_DIRTY | 17 | |
MEMINFO_WRITEBACK | 18 | |
MEMINFO_ANON_PAGES | 19 | |
MEMINFO_MAPPED | 20 | |
MEMINFO_SHMEM | 21 | |
MEMINFO_SLAB | 22 | |
MEMINFO_SLAB_RECLAIMABLE | 23 | |
MEMINFO_SLAB_UNRECLAIMABLE | 24 | |
MEMINFO_KERNEL_STACK | 25 | |
MEMINFO_PAGE_TABLES | 26 | |
MEMINFO_COMMIT_LIMIT | 27 | |
MEMINFO_COMMITED_AS | 28 | |
MEMINFO_VMALLOC_TOTAL | 29 | |
MEMINFO_VMALLOC_USED | 30 | |
MEMINFO_VMALLOC_CHUNK | 31 | |
MEMINFO_CMA_TOTAL | 32 | |
MEMINFO_CMA_FREE | 33 | |
MEMINFO_GPU | 34 | |
MEMINFO_ZRAM | 35 | |
MEMINFO_MISC | 36 | |
MEMINFO_ION_HEAP | 37 | |
MEMINFO_ION_HEAP_POOL | 38 |
SysStats.VmstatValue
Counter from /proc/vmstat. Units are often pages, not KB.
Defined in sys_stats.proto
Fields:
Field | Type | Description |
---|---|---|
key | VmstatCounters | |
value | uint64 |
VmstatCounters
Counter definitions for Linux's /proc/vmstat.
Defined in sys_stats_counters.proto
Enum values:
Name | Value | Description |
---|---|---|
VMSTAT_UNSPECIFIED | 0 | |
VMSTAT_NR_FREE_PAGES | 1 | |
VMSTAT_NR_ALLOC_BATCH | 2 | |
VMSTAT_NR_INACTIVE_ANON | 3 | |
VMSTAT_NR_ACTIVE_ANON | 4 | |
VMSTAT_NR_INACTIVE_FILE | 5 | |
VMSTAT_NR_ACTIVE_FILE | 6 | |
VMSTAT_NR_UNEVICTABLE | 7 | |
VMSTAT_NR_MLOCK | 8 | |
VMSTAT_NR_ANON_PAGES | 9 | |
VMSTAT_NR_MAPPED | 10 | |
VMSTAT_NR_FILE_PAGES | 11 | |
VMSTAT_NR_DIRTY | 12 | |
VMSTAT_NR_WRITEBACK | 13 | |
VMSTAT_NR_SLAB_RECLAIMABLE | 14 | |
VMSTAT_NR_SLAB_UNRECLAIMABLE | 15 | |
VMSTAT_NR_PAGE_TABLE_PAGES | 16 | |
VMSTAT_NR_KERNEL_STACK | 17 | |
VMSTAT_NR_OVERHEAD | 18 | |
VMSTAT_NR_UNSTABLE | 19 | |
VMSTAT_NR_BOUNCE | 20 | |
VMSTAT_NR_VMSCAN_WRITE | 21 | |
VMSTAT_NR_VMSCAN_IMMEDIATE_RECLAIM | 22 | |
VMSTAT_NR_WRITEBACK_TEMP | 23 | |
VMSTAT_NR_ISOLATED_ANON | 24 | |
VMSTAT_NR_ISOLATED_FILE | 25 | |
VMSTAT_NR_SHMEM | 26 | |
VMSTAT_NR_DIRTIED | 27 | |
VMSTAT_NR_WRITTEN | 28 | |
VMSTAT_NR_PAGES_SCANNED | 29 | |
VMSTAT_WORKINGSET_REFAULT | 30 | |
VMSTAT_WORKINGSET_ACTIVATE | 31 | |
VMSTAT_WORKINGSET_NODERECLAIM | 32 | |
VMSTAT_NR_ANON_TRANSPARENT_HUGEPAGES | 33 | |
VMSTAT_NR_FREE_CMA | 34 | |
VMSTAT_NR_SWAPCACHE | 35 | |
VMSTAT_NR_DIRTY_THRESHOLD | 36 | |
VMSTAT_NR_DIRTY_BACKGROUND_THRESHOLD | 37 | |
VMSTAT_PGPGIN | 38 | |
VMSTAT_PGPGOUT | 39 | |
VMSTAT_PGPGOUTCLEAN | 40 | |
VMSTAT_PSWPIN | 41 | |
VMSTAT_PSWPOUT | 42 | |
VMSTAT_PGALLOC_DMA | 43 | |
VMSTAT_PGALLOC_NORMAL | 44 | |
VMSTAT_PGALLOC_MOVABLE | 45 | |
VMSTAT_PGFREE | 46 | |
VMSTAT_PGACTIVATE | 47 | |
VMSTAT_PGDEACTIVATE | 48 | |
VMSTAT_PGFAULT | 49 | |
VMSTAT_PGMAJFAULT | 50 | |
VMSTAT_PGREFILL_DMA | 51 | |
VMSTAT_PGREFILL_NORMAL | 52 | |
VMSTAT_PGREFILL_MOVABLE | 53 | |
VMSTAT_PGSTEAL_KSWAPD_DMA | 54 | |
VMSTAT_PGSTEAL_KSWAPD_NORMAL | 55 | |
VMSTAT_PGSTEAL_KSWAPD_MOVABLE | 56 | |
VMSTAT_PGSTEAL_DIRECT_DMA | 57 | |
VMSTAT_PGSTEAL_DIRECT_NORMAL | 58 | |
VMSTAT_PGSTEAL_DIRECT_MOVABLE | 59 | |
VMSTAT_PGSCAN_KSWAPD_DMA | 60 | |
VMSTAT_PGSCAN_KSWAPD_NORMAL | 61 | |
VMSTAT_PGSCAN_KSWAPD_MOVABLE | 62 | |
VMSTAT_PGSCAN_DIRECT_DMA | 63 | |
VMSTAT_PGSCAN_DIRECT_NORMAL | 64 | |
VMSTAT_PGSCAN_DIRECT_MOVABLE | 65 | |
VMSTAT_PGSCAN_DIRECT_THROTTLE | 66 | |
VMSTAT_PGINODESTEAL | 67 | |
VMSTAT_SLABS_SCANNED | 68 | |
VMSTAT_KSWAPD_INODESTEAL | 69 | |
VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY | 70 | |
VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY | 71 | |
VMSTAT_PAGEOUTRUN | 72 | |
VMSTAT_ALLOCSTALL | 73 | |
VMSTAT_PGROTATED | 74 | |
VMSTAT_DROP_PAGECACHE | 75 | |
VMSTAT_DROP_SLAB | 76 | |
VMSTAT_PGMIGRATE_SUCCESS | 77 | |
VMSTAT_PGMIGRATE_FAIL | 78 | |
VMSTAT_COMPACT_MIGRATE_SCANNED | 79 | |
VMSTAT_COMPACT_FREE_SCANNED | 80 | |
VMSTAT_COMPACT_ISOLATED | 81 | |
VMSTAT_COMPACT_STALL | 82 | |
VMSTAT_COMPACT_FAIL | 83 | |
VMSTAT_COMPACT_SUCCESS | 84 | |
VMSTAT_COMPACT_DAEMON_WAKE | 85 | |
VMSTAT_UNEVICTABLE_PGS_CULLED | 86 | |
VMSTAT_UNEVICTABLE_PGS_SCANNED | 87 | |
VMSTAT_UNEVICTABLE_PGS_RESCUED | 88 | |
VMSTAT_UNEVICTABLE_PGS_MLOCKED | 89 | |
VMSTAT_UNEVICTABLE_PGS_MUNLOCKED | 90 | |
VMSTAT_UNEVICTABLE_PGS_CLEARED | 91 | |
VMSTAT_UNEVICTABLE_PGS_STRANDED | 92 | |
VMSTAT_NR_ZSPAGES | 93 | |
VMSTAT_NR_ION_HEAP | 94 | |
VMSTAT_NR_GPU_HEAP | 95 | |
VMSTAT_ALLOCSTALL_DMA | 96 | |
VMSTAT_ALLOCSTALL_MOVABLE | 97 | |
VMSTAT_ALLOCSTALL_NORMAL | 98 | |
VMSTAT_COMPACT_DAEMON_FREE_SCANNED | 99 | |
VMSTAT_COMPACT_DAEMON_MIGRATE_SCANNED | 100 | |
VMSTAT_NR_FASTRPC | 101 | |
VMSTAT_NR_INDIRECTLY_RECLAIMABLE | 102 | |
VMSTAT_NR_ION_HEAP_POOL | 103 | |
VMSTAT_NR_KERNEL_MISC_RECLAIMABLE | 104 | |
VMSTAT_NR_SHADOW_CALL_STACK_BYTES | 105 | |
VMSTAT_NR_SHMEM_HUGEPAGES | 106 | |
VMSTAT_NR_SHMEM_PMDMAPPED | 107 | |
VMSTAT_NR_UNRECLAIMABLE_PAGES | 108 | |
VMSTAT_NR_ZONE_ACTIVE_ANON | 109 | |
VMSTAT_NR_ZONE_ACTIVE_FILE | 110 | |
VMSTAT_NR_ZONE_INACTIVE_ANON | 111 | |
VMSTAT_NR_ZONE_INACTIVE_FILE | 112 | |
VMSTAT_NR_ZONE_UNEVICTABLE | 113 | |
VMSTAT_NR_ZONE_WRITE_PENDING | 114 | |
VMSTAT_OOM_KILL | 115 | |
VMSTAT_PGLAZYFREE | 116 | |
VMSTAT_PGLAZYFREED | 117 | |
VMSTAT_PGREFILL | 118 | |
VMSTAT_PGSCAN_DIRECT | 119 | |
VMSTAT_PGSCAN_KSWAPD | 120 | |
VMSTAT_PGSKIP_DMA | 121 | |
VMSTAT_PGSKIP_MOVABLE | 122 | |
VMSTAT_PGSKIP_NORMAL | 123 | |
VMSTAT_PGSTEAL_DIRECT | 124 | |
VMSTAT_PGSTEAL_KSWAPD | 125 | |
VMSTAT_SWAP_RA | 126 | |
VMSTAT_SWAP_RA_HIT | 127 | |
VMSTAT_WORKINGSET_RESTORE | 128 | |
VMSTAT_ALLOCSTALL_DEVICE | 129 | |
VMSTAT_ALLOCSTALL_DMA32 | 130 | |
VMSTAT_BALLOON_DEFLATE | 131 | |
VMSTAT_BALLOON_INFLATE | 132 | |
VMSTAT_BALLOON_MIGRATE | 133 | |
VMSTAT_CMA_ALLOC_FAIL | 134 | |
VMSTAT_CMA_ALLOC_SUCCESS | 135 | |
VMSTAT_NR_FILE_HUGEPAGES | 136 | |
VMSTAT_NR_FILE_PMDMAPPED | 137 | |
VMSTAT_NR_FOLL_PIN_ACQUIRED | 138 | |
VMSTAT_NR_FOLL_PIN_RELEASED | 139 | |
VMSTAT_NR_SEC_PAGE_TABLE_PAGES | 140 | |
VMSTAT_NR_SHADOW_CALL_STACK | 141 | |
VMSTAT_NR_SWAPCACHED | 142 | |
VMSTAT_NR_THROTTLED_WRITTEN | 143 | |
VMSTAT_PGALLOC_DEVICE | 144 | |
VMSTAT_PGALLOC_DMA32 | 145 | |
VMSTAT_PGDEMOTE_DIRECT | 146 | |
VMSTAT_PGDEMOTE_KSWAPD | 147 | |
VMSTAT_PGREUSE | 148 | |
VMSTAT_PGSCAN_ANON | 149 | |
VMSTAT_PGSCAN_FILE | 150 | |
VMSTAT_PGSKIP_DEVICE | 151 | |
VMSTAT_PGSKIP_DMA32 | 152 | |
VMSTAT_PGSTEAL_ANON | 153 | |
VMSTAT_PGSTEAL_FILE | 154 | |
VMSTAT_THP_COLLAPSE_ALLOC | 155 | |
VMSTAT_THP_COLLAPSE_ALLOC_FAILED | 156 | |
VMSTAT_THP_DEFERRED_SPLIT_PAGE | 157 | |
VMSTAT_THP_FAULT_ALLOC | 158 | |
VMSTAT_THP_FAULT_FALLBACK | 159 | |
VMSTAT_THP_FAULT_FALLBACK_CHARGE | 160 | |
VMSTAT_THP_FILE_ALLOC | 161 | |
VMSTAT_THP_FILE_FALLBACK | 162 | |
VMSTAT_THP_FILE_FALLBACK_CHARGE | 163 | |
VMSTAT_THP_FILE_MAPPED | 164 | |
VMSTAT_THP_MIGRATION_FAIL | 165 | |
VMSTAT_THP_MIGRATION_SPLIT | 166 | |
VMSTAT_THP_MIGRATION_SUCCESS | 167 | |
VMSTAT_THP_SCAN_EXCEED_NONE_PTE | 168 | |
VMSTAT_THP_SCAN_EXCEED_SHARE_PTE | 169 | |
VMSTAT_THP_SCAN_EXCEED_SWAP_PTE | 170 | |
VMSTAT_THP_SPLIT_PAGE | 171 | |
VMSTAT_THP_SPLIT_PAGE_FAILED | 172 | |
VMSTAT_THP_SPLIT_PMD | 173 | |
VMSTAT_THP_SWPOUT | 174 | |
VMSTAT_THP_SWPOUT_FALLBACK | 175 | |
VMSTAT_THP_ZERO_PAGE_ALLOC | 176 | |
VMSTAT_THP_ZERO_PAGE_ALLOC_FAILED | 177 | |
VMSTAT_VMA_LOCK_ABORT | 178 | |
VMSTAT_VMA_LOCK_MISS | 179 | |
VMSTAT_VMA_LOCK_RETRY | 180 | |
VMSTAT_VMA_LOCK_SUCCESS | 181 | |
VMSTAT_WORKINGSET_ACTIVATE_ANON | 182 | |
VMSTAT_WORKINGSET_ACTIVATE_FILE | 183 | |
VMSTAT_WORKINGSET_NODES | 184 | |
VMSTAT_WORKINGSET_REFAULT_ANON | 185 | |
VMSTAT_WORKINGSET_REFAULT_FILE | 186 | |
VMSTAT_WORKINGSET_RESTORE_ANON | 187 | |
VMSTAT_WORKINGSET_RESTORE_FILE | 188 |
SysStats.CpuTimes
Times in each mode, since boot. Unit: nanoseconds.
Defined in sys_stats.proto
Fields:
Field | Type | Description |
---|---|---|
cpu_id | uint32 | |
user_ns | uint64 | Time spent in user mode. |
user_nice_ns | uint64 | Time spent in user mode (low prio). |
system_mode_ns | uint64 | Time spent in system mode. |
idle_ns | uint64 | Time spent in the idle task. |
io_wait_ns | uint64 | Time spent waiting for I/O. |
irq_ns | uint64 | Time spent servicing interrupts. |
softirq_ns | uint64 | Time spent servicing softirqs. |
SysStats.InterruptCount
Defined in sys_stats.proto
Fields:
Field | Type | Description |
---|---|---|
irq | int32 | |
count | uint64 |
SysStats.DevfreqValue
Frequencies for /sys/class/devfreq/ entries in kHz.
Defined in sys_stats.proto
Fields:
Field | Type | Description |
---|---|---|
key | string | |
value | uint64 |
SysStats.BuddyInfo
Defined in sys_stats.proto
Fields:
Field | Type | Description |
---|---|---|
node | string | |
zone | string | |
order_pages | uint32[] |
SysStats.DiskStat
Counters from /proc/diskstats.
Defined in sys_stats.proto
Fields:
Field | Type | Description |
---|---|---|
device_name | string | |
read_sectors | uint64 | |
read_time_ms | uint64 | |
write_sectors | uint64 | |
write_time_ms | uint64 | |
discard_sectors | uint64 | |
discard_time_ms | uint64 | |
flush_count | uint64 | |
flush_time_ms | uint64 |
SysStats.PsiSample
Reading from /proc/pressure/*.
Defined in sys_stats.proto
Fields:
Field | Type | Description |
---|---|---|
resource | PsiResource | |
total_ns | uint64 | Total absolute stall time (in nanos) for a given resource. While PSI readings are in micros, we store in nanos for consistency with most other time-based counters. |
SysStats.PsiSample.PsiResource
Type of resource that may have exhibited pressure stalls.
- _SOME indicates some resource tasks stalled.
- _FULL indicates all non-idle resource tasks stalled simultaneously.
Defined in sys_stats.proto
Enum values:
Name | Value | Description |
---|---|---|
PSI_RESOURCE_UNSPECIFIED | 0 | |
PSI_RESOURCE_CPU_SOME | 1 | |
PSI_RESOURCE_CPU_FULL | 2 | |
PSI_RESOURCE_IO_SOME | 3 | |
PSI_RESOURCE_IO_FULL | 4 | |
PSI_RESOURCE_MEMORY_SOME | 5 | |
PSI_RESOURCE_MEMORY_FULL | 6 |
SysStats.ThermalZone
Reading from /sys/class/thermal/*.
Defined in sys_stats.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
temp | uint64 | |
type | string |
SysStats.CpuIdleState
Defined in sys_stats.proto
Fields:
Field | Type | Description |
---|---|---|
cpu_id | uint32 | |
cpuidle_state_entry | CpuIdleStateEntry[] |
SysStats.CpuIdleStateEntry
Reading from /sys/devices/system/cpu/cpu*/cpuidle/state*.
Defined in sys_stats.proto
Fields:
Field | Type | Description |
---|---|---|
state | string | Name of the idle state, e.g. C1-C10 |
duration_us | uint64 |
TrackEvent
Trace events emitted by client instrumentation library (TRACE_EVENT macros), which describe activity on a track, such as a thread or asynchronous event track. The track is specified using separate TrackDescriptor messages and referred to via the track's UUID.
A simple TrackEvent packet specifies a timestamp, category, name and type:
trace_packet {
timestamp: 1000
track_event {
categories: ["my_cat"]
name: "my_event"
type: TYPE_INSTANT
}
}
To associate an event with a custom track (e.g. a thread), the track is defined in a separate packet and referred to from the TrackEvent by its UUID:
trace_packet {
track_descriptor {
track_uuid: 1234
name: "my_track"
// Optionally, associate the track with a thread.
thread_descriptor {
pid: 10
tid: 10
..
}
}
}
A pair of TYPE_SLICE_BEGIN and _END events form a slice on the track:
trace_packet {
timestamp: 1200
track_event {
track_uuid: 1234
categories: ["my_cat"]
name: "my_slice"
type: TYPE_SLICE_BEGIN
}
}
trace_packet {
timestamp: 1400
track_event {
track_uuid: 1234
type: TYPE_SLICE_END
}
}
TrackEvents also support optimizations to reduce data repetition and encoded data size, e.g. through data interning (names, categories, ...) and delta encoding of timestamps/counters. For details, see the InternedData message. Further, default values for attributes of events on the same sequence (e.g. their default track association) can be emitted as part of a TrackEventDefaults message.
Defined in track_event.proto
Fields:
Field | Type | Description |
---|---|---|
category_iids | uint64[] | Names of categories of the event. In the client library, categories are a way to turn groups of individual events on or off. interned EventCategoryName. |
categories | string[] | non-interned variant. |
name_iid | uint64 | interned EventName. |
name | string | non-interned variant. |
type | Type | |
track_uuid | uint64 | Identifies the track of the event. The default value may be overridden using TrackEventDefaults, e.g., to specify the track of the TraceWriter's sequence (in most cases sequence = one thread). If no value is specified here or in TrackEventDefaults, the TrackEvent will be associated with an implicit trace-global track (uuid 0). See TrackDescriptor::uuid. |
counter_value | int64 | |
double_counter_value | double | |
extra_counter_track_uuids | uint64[] | To encode counter values more efficiently, we support attaching additional counter values to a TrackEvent of any type. All values will share the same timestamp specified in the TracePacket. The value at extra_counter_values[N] is for the counter track referenced by extra_counter_track_uuids[N].extra_counter_track_uuids may also be set via TrackEventDefaults. There should always be equal or more uuids than values. It is valid to set more uuids (e.g. via defaults) than values. If uuids are specified in TrackEventDefaults and a TrackEvent, the TrackEvent uuids override the default uuid list.For example, this allows snapshotting the thread time clock at each thread-track BEGIN and END event to capture the cpu time delta of a slice. |
extra_counter_values | int64[] | |
extra_double_counter_track_uuids | uint64[] | Counter snapshots using floating point instead of integer values. |
extra_double_counter_values | double[] | |
flow_ids_old | uint64[] | IDs of flows originating, passing through, or ending at this event. Flow IDs are global within a trace. A flow connects a sequence of TrackEvents within or across tracks, e.g. an input event may be handled on one thread but cause another event on a different thread - a flow between the two events can associate them. The direction of the flows between events is inferred from the events' timestamps. The earliest event with the same flow ID becomes the source of the flow. Any events thereafter are intermediate steps of the flow, until the flow terminates at the last event with the flow ID. Flows can also be explicitly terminated (see terminating_flow_ids ), so that the same ID can later be reused for another flow.DEPRECATED. Only kept for backwards compatibility. Use flow_ids . |
flow_ids | fixed64[] | TODO(b/204341740): replace "flow_ids_old" with "flow_ids" to reduce memory consumption. |
terminating_flow_ids_old | uint64[] | List of flow ids which should terminate on this event, otherwise same as flow_ids .Any one flow ID should be either listed as part of flow_ids OR terminating_flow_ids , not both.DEPRECATED. Only kept for backwards compatibility. Use terminating_flow_ids . |
terminating_flow_ids | fixed64[] | TODO(b/204341740): replace "terminating_flow_ids_old" with "terminating_flow_ids" to reduce memory consumption. |
debug_annotations | DebugAnnotation[] | Unstable key/value annotations shown in the trace viewer but not intended for metrics use. |
task_execution | TaskExecution | Typed event arguments: |
log_message | LogMessage | |
cc_scheduler_state | ChromeCompositorSchedulerState | |
chrome_user_event | ChromeUserEvent | |
chrome_keyed_service | ChromeKeyedService | |
chrome_legacy_ipc | ChromeLegacyIpc | |
chrome_histogram_sample | ChromeHistogramSample | |
chrome_latency_info | ChromeLatencyInfo | |
chrome_frame_reporter | ChromeFrameReporter | |
chrome_application_state_info | ChromeApplicationStateInfo | |
chrome_renderer_scheduler_state | ChromeRendererSchedulerState | |
chrome_window_handle_event_info | ChromeWindowHandleEventInfo | |
chrome_content_settings_event_info | ChromeContentSettingsEventInfo | |
chrome_active_processes | ChromeActiveProcesses | |
screenshot | Screenshot | |
source_location | SourceLocation | Non-interned field. |
source_location_iid | uint64 | Interned field. |
chrome_message_pump | ChromeMessagePump | |
chrome_mojo_event_info | ChromeMojoEventInfo | |
timestamp_delta_us | int64 | Delta timestamp value since the last TrackEvent or ThreadDescriptor. To calculate the absolute timestamp value, sum up all delta values of the preceding TrackEvents since the last ThreadDescriptor and add the sum to the reference_timestamp in ThreadDescriptor. This value should always be positive. |
timestamp_absolute_us | int64 | Absolute value (e.g. a manually specified timestamp in the macro). This is a one-off value that does not affect delta timestamp computation in subsequent TrackEvents. |
thread_time_delta_us | int64 | Delta timestamp value since the last TrackEvent or ThreadDescriptor. To calculate the absolute timestamp value, sum up all delta values of the preceding TrackEvents since the last ThreadDescriptor and add the sum to the reference_timestamp in ThreadDescriptor. This value should always be positive. |
thread_time_absolute_us | int64 | This is a one-off absolute value that does not affect delta timestamp computation in subsequent TrackEvents. |
thread_instruction_count_delta | int64 | Same encoding as thread_time field above. |
thread_instruction_count_absolute | int64 | |
legacy_event | LegacyEvent |
TrackEvent.Type
Type of the TrackEvent (required if phase
in LegacyEvent is not set).
Defined in track_event.proto
Enum values:
Name | Value | Description |
---|---|---|
TYPE_UNSPECIFIED | 0 | |
TYPE_SLICE_BEGIN | 1 | Slice events are events that have a begin and end timestamp, i.e. a duration. They can be nested similar to a callstack: If, on the same track, event B begins after event A, but before A ends, B is a child event of A and will be drawn as a nested event underneath A in the UI. Note that child events should always end before their parents (e.g. B before A). Each slice event is formed by a pair of BEGIN + END events. The END event does not need to repeat any TrackEvent fields it has in common with its corresponding BEGIN event. Arguments and debug annotations of the BEGIN + END pair will be merged during trace import. Note that we deliberately chose not to support COMPLETE events (which would specify a duration directly) since clients would need to delay writing them until the slice is completed, which can result in reordered events in the trace and loss of unfinished events at the end of a trace. |
TYPE_SLICE_END | 2 | |
TYPE_INSTANT | 3 | Instant events are nestable events without duration. They can be children of slice events on the same track. |
TYPE_COUNTER | 4 | Event that provides a value for a counter track. track_uuid should refer to a counter track and counter_value set to the new value. Note that most other TrackEvent fields (e.g. categories, name, ..) are not supported for TYPE_COUNTER events. See also CounterDescriptor. |
DebugAnnotation
Proto representation of untyped key/value annotations provided in TRACE_EVENT macros. Users of the Perfetto SDK should prefer to use the perfetto::TracedValue API to fill these protos, rather than filling them manually.
Debug annotations are intended for debug use and are not considered a stable API of the trace contents. Trace-based metrics that use debug annotation values are prone to breakage, so please rely on typed TrackEvent fields for these instead.
DebugAnnotations support nested arrays and dictionaries. Each entry is encoded as a single DebugAnnotation message. Only dictionary entries set the "name" field. The TrackEvent message forms an implicit root dictionary.
Example TrackEvent with nested annotations: track_event { debug_annotations { name: "foo" dict_entries { name: "a" bool_value: true } dict_entries { name: "b" int_value: 123 } } debug_annotations { name: "bar" array_values { string_value: "hello" } array_values { string_value: "world" } } } Reserved ID: 15
Defined in debug_annotation.proto
Fields:
Field | Type | Description |
---|---|---|
name_iid | uint64 | interned DebugAnnotationName. |
name | string | non-interned variant. |
bool_value | bool | |
uint_value | uint64 | |
int_value | int64 | |
double_value | double | |
pointer_value | uint64 | Pointers are stored in a separate type as the JSON output treats them differently from other uint64 values. |
nested_value | NestedValue | Deprecated. Use dict_entries / array_values instead. |
legacy_json_value | string | Legacy instrumentation may not support conversion of nested data to NestedValue yet. |
string_value | string | interned and non-interned variants of strings. |
string_value_iid | uint64 | Corresponds to debug_annotation_string_values field in InternedData. |
proto_type_name | string | |
proto_type_name_iid | uint64 | interned DebugAnnotationValueTypeName. |
proto_value | bytes | |
dict_entries | DebugAnnotation[] | |
array_values | DebugAnnotation[] |
DebugAnnotation.NestedValue
Deprecated legacy way to use nested values. Only kept for
backwards-compatibility in TraceProcessor. May be removed in the future -
code filling protos should use dict_entries
and array_values
instead.
Defined in debug_annotation.proto
Fields:
Field | Type | Description |
---|---|---|
nested_type | NestedType | |
dict_keys | string[] | |
dict_values | NestedValue[] | |
array_values | NestedValue[] | |
int_value | int64 | |
double_value | double | |
bool_value | bool | |
string_value | string |
DebugAnnotation.NestedValue.NestedType
Defined in debug_annotation.proto
Enum values:
Name | Value | Description |
---|---|---|
UNSPECIFIED | 0 | leaf value. |
DICT | 1 | |
ARRAY | 2 |
TaskExecution
TrackEvent arguments describing the execution of a task.
Defined in task_execution.proto
Fields:
Field | Type | Description |
---|---|---|
posted_from_iid | uint64 | Source location that the task was posted from. interned SourceLocation. |
LogMessage
Defined in log_message.proto
Fields:
Field | Type | Description |
---|---|---|
source_location_iid | uint64 | interned SourceLocation. |
body_iid | uint64 | interned LogMessageBody. |
prio | Priority |
LogMessage.Priority
Defined in log_message.proto
Enum values:
Name | Value | Description |
---|---|---|
PRIO_UNSPECIFIED | 0 | |
PRIO_UNUSED | 1 | |
PRIO_VERBOSE | 2 | |
PRIO_DEBUG | 3 | |
PRIO_INFO | 4 | |
PRIO_WARN | 5 | |
PRIO_ERROR | 6 | |
PRIO_FATAL | 7 |
ChromeCompositorSchedulerState
Defined in chrome_compositor_scheduler_state.proto
Fields:
Field | Type | Description |
---|---|---|
state_machine | ChromeCompositorStateMachine | |
observing_begin_frame_source | bool | |
begin_impl_frame_deadline_task | bool | |
pending_begin_frame_task | bool | |
skipped_last_frame_missed_exceeded_deadline | bool | |
inside_action | ChromeCompositorSchedulerAction | |
deadline_mode | BeginImplFrameDeadlineMode | |
deadline_us | int64 | |
deadline_scheduled_at_us | int64 | |
now_us | int64 | |
now_to_deadline_delta_us | int64 | |
now_to_deadline_scheduled_at_delta_us | int64 | |
begin_impl_frame_args | BeginImplFrameArgs | |
begin_frame_observer_state | BeginFrameObserverState | |
begin_frame_source_state | BeginFrameSourceState | |
compositor_timing_history | CompositorTimingHistory |
ChromeCompositorStateMachine
Describes the current values stored in the Chrome Compositor state machine.
Defined in chrome_compositor_scheduler_state.proto
Fields:
Field | Type | Description |
---|---|---|
major_state | MajorState | |
minor_state | MinorState |
ChromeCompositorStateMachine.MajorState
Defined in chrome_compositor_scheduler_state.proto
Fields:
Field | Type | Description |
---|---|---|
next_action | ChromeCompositorSchedulerAction | |
begin_impl_frame_state | BeginImplFrameState | |
begin_main_frame_state | BeginMainFrameState | |
layer_tree_frame_sink_state | LayerTreeFrameSinkState | |
forced_redraw_state | ForcedRedrawOnTimeoutState |
ChromeCompositorSchedulerAction
Defined in chrome_compositor_scheduler_state.proto
Enum values:
Name | Value | Description |
---|---|---|
CC_SCHEDULER_ACTION_UNSPECIFIED | 0 | |
CC_SCHEDULER_ACTION_NONE | 1 | |
CC_SCHEDULER_ACTION_SEND_BEGIN_MAIN_FRAME | 2 | |
CC_SCHEDULER_ACTION_COMMIT | 3 | |
CC_SCHEDULER_ACTION_ACTIVATE_SYNC_TREE | 4 | |
CC_SCHEDULER_ACTION_DRAW_IF_POSSIBLE | 5 | |
CC_SCHEDULER_ACTION_DRAW_FORCED | 6 | |
CC_SCHEDULER_ACTION_DRAW_ABORT | 7 | |
CC_SCHEDULER_ACTION_BEGIN_LAYER_TREE_FRAME_SINK_CREATION | 8 | |
CC_SCHEDULER_ACTION_PREPARE_TILES | 9 | |
CC_SCHEDULER_ACTION_INVALIDATE_LAYER_TREE_FRAME_SINK | 10 | |
CC_SCHEDULER_ACTION_PERFORM_IMPL_SIDE_INVALIDATION | 11 | |
CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_UNTIL | 12 | |
CC_SCHEDULER_ACTION_NOTIFY_BEGIN_MAIN_FRAME_NOT_EXPECTED_SOON | 13 |
ChromeCompositorStateMachine.MajorState.BeginImplFrameState
Defined in chrome_compositor_scheduler_state.proto
Enum values:
Name | Value | Description |
---|---|---|
BEGIN_IMPL_FRAME_UNSPECIFIED | 0 | |
BEGIN_IMPL_FRAME_IDLE | 1 | |
BEGIN_IMPL_FRAME_INSIDE_BEGIN_FRAME | 2 | |
BEGIN_IMPL_FRAME_INSIDE_DEADLINE | 3 |
ChromeCompositorStateMachine.MajorState.BeginMainFrameState
Defined in chrome_compositor_scheduler_state.proto
Enum values:
Name | Value | Description |
---|---|---|
BEGIN_MAIN_FRAME_UNSPECIFIED | 0 | |
BEGIN_MAIN_FRAME_IDLE | 1 | |
BEGIN_MAIN_FRAME_SENT | 2 | |
BEGIN_MAIN_FRAME_READY_TO_COMMIT | 3 |
ChromeCompositorStateMachine.MajorState.LayerTreeFrameSinkState
Defined in chrome_compositor_scheduler_state.proto
Enum values:
Name | Value | Description |
---|---|---|
LAYER_TREE_FRAME_UNSPECIFIED | 0 | |
LAYER_TREE_FRAME_NONE | 1 | |
LAYER_TREE_FRAME_ACTIVE | 2 | |
LAYER_TREE_FRAME_CREATING | 3 | |
LAYER_TREE_FRAME_WAITING_FOR_FIRST_COMMIT | 4 | |
LAYER_TREE_FRAME_WAITING_FOR_FIRST_ACTIVATION | 5 |
ChromeCompositorStateMachine.MajorState.ForcedRedrawOnTimeoutState
Defined in chrome_compositor_scheduler_state.proto
Enum values:
Name | Value | Description |
---|---|---|
FORCED_REDRAW_UNSPECIFIED | 0 | |
FORCED_REDRAW_IDLE | 1 | |
FORCED_REDRAW_WAITING_FOR_COMMIT | 2 | |
FORCED_REDRAW_WAITING_FOR_ACTIVATION | 3 | |
FORCED_REDRAW_WAITING_FOR_DRAW | 4 |
ChromeCompositorStateMachine.MinorState
Defined in chrome_compositor_scheduler_state.proto
Fields:
Field | Type | Description |
---|---|---|
commit_count | int32 | |
current_frame_number | int32 | |
last_frame_number_submit_performed | int32 | |
last_frame_number_draw_performed | int32 | |
last_frame_number_begin_main_frame_sent | int32 | |
did_draw | bool | |
did_send_begin_main_frame_for_current_frame | bool | |
did_notify_begin_main_frame_not_expected_until | bool | |
did_notify_begin_main_frame_not_expected_soon | bool | |
wants_begin_main_frame_not_expected | bool | |
did_commit_during_frame | bool | |
did_invalidate_layer_tree_frame_sink | bool | |
did_perform_impl_side_invalidaion | bool | |
did_prepare_tiles | bool | |
consecutive_checkerboard_animations | int32 | |
pending_submit_frames | int32 | |
submit_frames_with_current_layer_tree_frame_sink | int32 | |
needs_redraw | bool | |
needs_prepare_tiles | bool | |
needs_begin_main_frame | bool | |
needs_one_begin_impl_frame | bool | |
visible | bool | |
begin_frame_source_paused | bool | |
can_draw | bool | |
resourceless_draw | bool | |
has_pending_tree | bool | |
pending_tree_is_ready_for_activation | bool | |
active_tree_needs_first_draw | bool | |
active_tree_is_ready_to_draw | bool | |
did_create_and_initialize_first_layer_tree_frame_sink | bool | |
tree_priority | TreePriority | |
scroll_handler_state | ScrollHandlerState | |
critical_begin_main_frame_to_activate_is_fast | bool | |
main_thread_missed_last_deadline | bool | |
video_needs_begin_frames | bool | |
defer_begin_main_frame | bool | |
last_commit_had_no_updates | bool | |
did_draw_in_last_frame | bool | |
did_submit_in_last_frame | bool | |
needs_impl_side_invalidation | bool | |
current_pending_tree_is_impl_side | bool | |
previous_pending_tree_was_impl_side | bool | |
processing_animation_worklets_for_active_tree | bool | |
processing_animation_worklets_for_pending_tree | bool | |
processing_paint_worklets_for_pending_tree | bool |
ChromeCompositorStateMachine.MinorState.TreePriority
Defined in chrome_compositor_scheduler_state.proto
Enum values:
Name | Value | Description |
---|---|---|
TREE_PRIORITY_UNSPECIFIED | 0 | |
TREE_PRIORITY_SAME_PRIORITY_FOR_BOTH_TREES | 1 | |
TREE_PRIORITY_SMOOTHNESS_TAKES_PRIORITY | 2 | |
TREE_PRIORITY_NEW_CONTENT_TAKES_PRIORITY | 3 |
ChromeCompositorStateMachine.MinorState.ScrollHandlerState
Defined in chrome_compositor_scheduler_state.proto
Enum values:
Name | Value | Description |
---|---|---|
SCROLL_HANDLER_UNSPECIFIED | 0 | |
SCROLL_AFFECTS_SCROLL_HANDLER | 1 | |
SCROLL_DOES_NOT_AFFECT_SCROLL_HANDLER | 2 |
ChromeCompositorSchedulerState.BeginImplFrameDeadlineMode
Defined in chrome_compositor_scheduler_state.proto
Enum values:
Name | Value | Description |
---|---|---|
DEADLINE_MODE_UNSPECIFIED | 0 | |
DEADLINE_MODE_NONE | 1 | |
DEADLINE_MODE_IMMEDIATE | 2 | |
DEADLINE_MODE_REGULAR | 3 | |
DEADLINE_MODE_LATE | 4 | |
DEADLINE_MODE_BLOCKED | 5 |
BeginImplFrameArgs
Defined in chrome_compositor_scheduler_state.proto
Fields:
Field | Type | Description |
---|---|---|
updated_at_us | int64 | |
finished_at_us | int64 | |
state | State | |
current_args | BeginFrameArgs | Only set if state is BEGIN_FRAME_FINISHED. |
last_args | BeginFrameArgs | Only set if state is BEGIN_FRAME_USING. |
timestamps_in_us | TimestampsInUs |
BeginImplFrameArgs.State
Defined in chrome_compositor_scheduler_state.proto
Enum values:
Name | Value | Description |
---|---|---|
BEGIN_FRAME_FINISHED | 0 | |
BEGIN_FRAME_USING | 1 |
BeginFrameArgs
Defined in chrome_compositor_scheduler_state.proto
Fields:
Field | Type | Description |
---|---|---|
type | BeginFrameArgsType | |
source_id | uint64 | |
sequence_number | uint64 | |
frame_time_us | int64 | |
deadline_us | int64 | |
interval_delta_us | int64 | |
on_critical_path | bool | |
animate_only | bool | |
source_location_iid | uint64 | The interned SourceLocation. |
source_location | SourceLocation | The SourceLocation that this args was created from. TypedArgument TraceEvents and then we shouldn't need this SourceLocation since we can emit it as part of the InternedData message. When we can remove this source_location . |
frames_throttled_since_last | int64 |
BeginFrameArgs.BeginFrameArgsType
JSON format has a "type" field that was always just "BeginFrameArgs" we drop this in the proto representation, and instead make the JSON format "subtype" field become the type field.
Defined in chrome_compositor_scheduler_state.proto
Enum values:
Name | Value | Description |
---|---|---|
BEGIN_FRAME_ARGS_TYPE_UNSPECIFIED | 0 | |
BEGIN_FRAME_ARGS_TYPE_INVALID | 1 | |
BEGIN_FRAME_ARGS_TYPE_NORMAL | 2 | |
BEGIN_FRAME_ARGS_TYPE_MISSED | 3 |
SourceLocation
Defined in source_location.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
file_name | string | |
function_name | string | |
line_number | uint32 |
BeginImplFrameArgs.TimestampsInUs
Defined in chrome_compositor_scheduler_state.proto
Fields:
Field | Type | Description |
---|---|---|
interval_delta | int64 | |
now_to_deadline_delta | int64 | |
frame_time_to_now_delta | int64 | |
frame_time_to_deadline_delta | int64 | |
now | int64 | |
frame_time | int64 | |
deadline | int64 |
BeginFrameObserverState
Defined in chrome_compositor_scheduler_state.proto
Fields:
Field | Type | Description |
---|---|---|
dropped_begin_frame_args | int64 | |
last_begin_frame_args | BeginFrameArgs |
BeginFrameSourceState
Defined in chrome_compositor_scheduler_state.proto
Fields:
Field | Type | Description |
---|---|---|
source_id | uint32 | |
paused | bool | |
num_observers | uint32 | |
last_begin_frame_args | BeginFrameArgs |
CompositorTimingHistory
Defined in chrome_compositor_scheduler_state.proto
Fields:
Field | Type | Description |
---|---|---|
begin_main_frame_queue_critical_estimate_delta_us | int64 | |
begin_main_frame_queue_not_critical_estimate_delta_us | int64 | |
begin_main_frame_start_to_ready_to_commit_estimate_delta_us | int64 | |
commit_to_ready_to_activate_estimate_delta_us | int64 | |
prepare_tiles_estimate_delta_us | int64 | |
activate_estimate_delta_us | int64 | |
draw_estimate_delta_us | int64 |
ChromeUserEvent
Details about a UI interaction initiated by the user, such as opening or closing a tab or a context menu.
Defined in chrome_user_event.proto
Fields:
Field | Type | Description |
---|---|---|
action | string | Name of the action, e.g. "NewTab", "ShowBookmarkManager", etc. (in Chrome, these are usually static strings known at compile time, or concatenations of multiple such static strings). |
action_hash | uint64 | MD5 hash of the action string. |
ChromeKeyedService
Details about one of Chrome's keyed services associated with the event.
Defined in chrome_keyed_service.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | Name of the service, e.g. "MediaRouter", "PreviewsService", etc. (in Chrome, these are static strings known at compile time). |
ChromeLegacyIpc
Details about a legacy Chrome IPC message that is either sent by the event.
Defined in chrome_legacy_ipc.proto
Fields:
Field | Type | Description |
---|---|---|
message_class | MessageClass | Corresponds to the message class type defined in Chrome's IPCMessageStart enum, e.g. FrameMsgStart, |
message_line | uint32 | Line number of the message definition. See Chrome's IPC_MESSAGE_ID and IPC_MESSAGE_START macros. |
ChromeLegacyIpc.MessageClass
Defined in chrome_legacy_ipc.proto
Enum values:
Name | Value | Description |
---|---|---|
CLASS_UNSPECIFIED | 0 | |
CLASS_AUTOMATION | 1 | |
CLASS_FRAME | 2 | |
CLASS_PAGE | 3 | |
CLASS_VIEW | 4 | |
CLASS_WIDGET | 5 | |
CLASS_INPUT | 6 | |
CLASS_TEST | 7 | |
CLASS_WORKER | 8 | |
CLASS_NACL | 9 | |
CLASS_GPU_CHANNEL | 10 | |
CLASS_MEDIA | 11 | |
CLASS_PPAPI | 12 | |
CLASS_CHROME | 13 | |
CLASS_DRAG | 14 | |
CLASS_PRINT | 15 | |
CLASS_EXTENSION | 16 | |
CLASS_TEXT_INPUT_CLIENT | 17 | |
CLASS_BLINK_TEST | 18 | |
CLASS_ACCESSIBILITY | 19 | |
CLASS_PRERENDER | 20 | |
CLASS_CHROMOTING | 21 | |
CLASS_BROWSER_PLUGIN | 22 | |
CLASS_ANDROID_WEB_VIEW | 23 | |
CLASS_NACL_HOST | 24 | |
CLASS_ENCRYPTED_MEDIA | 25 | |
CLASS_CAST | 26 | |
CLASS_GIN_JAVA_BRIDGE | 27 | |
CLASS_CHROME_UTILITY_PRINTING | 28 | |
CLASS_OZONE_GPU | 29 | |
CLASS_WEB_TEST | 30 | |
CLASS_NETWORK_HINTS | 31 | |
CLASS_EXTENSIONS_GUEST_VIEW | 32 | |
CLASS_GUEST_VIEW | 33 | |
CLASS_MEDIA_PLAYER_DELEGATE | 34 | |
CLASS_EXTENSION_WORKER | 35 | |
CLASS_SUBRESOURCE_FILTER | 36 | |
CLASS_UNFREEZABLE_FRAME | 37 |
ChromeHistogramSample
An individual histogram sample logged via Chrome's UMA metrics system.
Defined in chrome_histogram_sample.proto
Fields:
Field | Type | Description |
---|---|---|
name_hash | uint64 | MD5 hash of the metric name. Either name_hash or name /name_iid or both must be present. |
name | string | |
sample | int64 | |
name_iid | uint64 | Interned HistogramName. Only one of name , name_iid can be set. |
ChromeLatencyInfo
Defined in chrome_latency_info.proto
Fields:
Field | Type | Description |
---|---|---|
trace_id | int64 | |
step | Step | |
frame_tree_node_id | int32 | |
component_info | ComponentInfo[] | |
is_coalesced | bool | |
gesture_scroll_id | int64 | |
touch_id | int64 | |
input_type | InputType | The type of input corresponding to this ChromeLatencyInfo . |
ChromeLatencyInfo.Step
All step are optional but the enum is ordered (not by number) below in the order we expect them to appear if they are emitted in trace in a blocking fashion.
Defined in chrome_latency_info.proto
Enum values:
Name | Value | Description |
---|---|---|
STEP_UNSPECIFIED | 0 | |
STEP_SEND_INPUT_EVENT_UI | 3 | Emitted on the browser main thread. |
STEP_HANDLE_INPUT_EVENT_IMPL | 5 | Happens on the renderer's compositor. |
STEP_DID_HANDLE_INPUT_AND_OVERSCROLL | 8 | |
STEP_HANDLE_INPUT_EVENT_MAIN | 4 | Occurs on the Renderer's main thread. |
STEP_MAIN_THREAD_SCROLL_UPDATE | 2 | |
STEP_HANDLE_INPUT_EVENT_MAIN_COMMIT | 1 | |
STEP_HANDLED_INPUT_EVENT_MAIN_OR_IMPL | 9 | Could be emitted on both the renderer's main OR compositor. |
STEP_HANDLED_INPUT_EVENT_IMPL | 10 | Optionally sometimes HANDLED_INPUT_EVENT_MAIN_OR_IMPL will proxy to the renderer's compositor and this will be emitted. |
STEP_SWAP_BUFFERS | 6 | Renderer's compositor. |
STEP_DRAW_AND_SWAP | 7 | Happens on the VizCompositor in the GPU process. |
STEP_FINISHED_SWAP_BUFFERS | 11 | Happens on the GPU main thread after the swap has completed. |
ChromeLatencyInfo.ComponentInfo
Defined in chrome_latency_info.proto
Fields:
Field | Type | Description |
---|---|---|
component_type | LatencyComponentType | |
time_us | uint64 | Microsecond timestamp in CLOCK_MONOTONIC domain |
ChromeLatencyInfo.LatencyComponentType
This enum is a copy of LatencyComponentType enum in Chrome, located in ui/latency/latency_info.h, modulo added UNKNOWN value per protobuf practices.
Defined in chrome_latency_info.proto
Enum values:
Name | Value | Description |
---|---|---|
COMPONENT_UNSPECIFIED | 0 | |
COMPONENT_INPUT_EVENT_LATENCY_BEGIN_RWH | 1 | |
COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL | 2 | |
COMPONENT_INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL | 3 | |
COMPONENT_INPUT_EVENT_LATENCY_ORIGINAL | 4 | |
COMPONENT_INPUT_EVENT_LATENCY_UI | 5 | |
COMPONENT_INPUT_EVENT_LATENCY_RENDERER_MAIN | 6 | |
COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_MAIN | 7 | |
COMPONENT_INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_IMPL | 8 | |
COMPONENT_INPUT_EVENT_LATENCY_SCROLL_UPDATE_LAST_EVENT | 9 | |
COMPONENT_INPUT_EVENT_LATENCY_ACK_RWH | 10 | |
COMPONENT_INPUT_EVENT_LATENCY_RENDERER_SWAP | 11 | |
COMPONENT_DISPLAY_COMPOSITOR_RECEIVED_FRAME | 12 | |
COMPONENT_INPUT_EVENT_GPU_SWAP_BUFFER | 13 | |
COMPONENT_INPUT_EVENT_LATENCY_FRAME_SWAP | 14 |
ChromeLatencyInfo.InputType
Defined in chrome_latency_info.proto
Enum values:
Name | Value | Description |
---|---|---|
UNSPECIFIED_OR_OTHER | 0 | |
TOUCH_MOVED | 1 | |
GESTURE_SCROLL_BEGIN | 2 | |
GESTURE_SCROLL_UPDATE | 3 | |
GESTURE_SCROLL_END | 4 | |
GESTURE_TAP | 5 | |
GESTURE_TAP_CANCEL | 6 |
ChromeFrameReporter
Defined in chrome_frame_reporter.proto
Fields:
Field | Type | Description |
---|---|---|
state | State | |
reason | FrameDropReason | The reason is set only if state is not STATE_UPDATED_ALL . |
frame_source | uint64 | |
frame_sequence | uint64 | |
affects_smoothness | bool | If this is a droped frame (i.e. if state is set to STATE_DROPPED or STATE_PRESENTED_PARTIAL ), then indicates whether this frame impacts smoothness. |
scroll_state | ScrollState | The type of active scroll. |
has_main_animation | bool | If any main thread animation is active during this frame. |
has_compositor_animation | bool | If any compositor thread animation is active during this frame. |
has_smooth_input_main | bool | If any touch-driven UX (not scroll) is active during this frame. |
has_missing_content | bool | Whether the frame contained any missing content (i.e. whether there was checkerboarding in the frame). If has_missing_content, checkerboarded_needs_raster and checkerboarded_needs_record all have values, has_missing_content should equal checkerboarded_needs_raster |
layer_tree_host_id | uint64 | The id of layer_tree_host that the frame has been produced for. |
has_high_latency | bool | If total latency of PipelineReporter exceeds a certain limit. |
frame_type | FrameType | Indicate if the frame is "FORKED" (i.e. a PipelineReporter event starts at the same frame sequence as another PipelineReporter) or "BACKFILL" (i.e. dropped frames when there are no partial compositor updates). |
high_latency_contribution_stage | string[] | The breakdown stage of PipelineReporter that is most likely accountable for high latency. |
checkerboarded_needs_raster | bool | Whether the frame contained any content that is not fully rastered. |
checkerboarded_needs_record | bool | Whether the frame contained any content that is not fully recorded. |
ChromeFrameReporter.State
Defined in chrome_frame_reporter.proto
Enum values:
Name | Value | Description |
---|---|---|
STATE_NO_UPDATE_DESIRED | 0 | The frame did not have any updates to present. |
STATE_PRESENTED_ALL | 1 | The frame presented all the desired updates (i.e. any updates requested from both the compositor thread and main-threads were handled). |
STATE_PRESENTED_PARTIAL | 2 | The frame was presented with some updates, but also missed some updates (e.g. missed updates from the main-thread, but included updates from the compositor thread). |
STATE_DROPPED | 3 | The frame was dropped, i.e. some updates were desired for the frame, but was not presented. |
ChromeFrameReporter.FrameDropReason
Defined in chrome_frame_reporter.proto
Enum values:
Name | Value | Description |
---|---|---|
REASON_UNSPECIFIED | 0 | |
REASON_DISPLAY_COMPOSITOR | 1 | Frame was dropped by the display-compositor. The display-compositor may drop a frame some times (e.g. the frame missed the deadline, or was blocked on surface-sync, etc.) |
REASON_MAIN_THREAD | 2 | Frame was dropped because of the main-thread. The main-thread may cause a frame to be dropped, e.g. if the main-thread is running expensive javascript, or doing a lot of layout updates, etc. |
REASON_CLIENT_COMPOSITOR | 3 | Frame was dropped by the client compositor. The client compositor can drop some frames too (e.g. attempting to recover latency, missing the deadline, etc.). |
ChromeFrameReporter.ScrollState
Defined in chrome_frame_reporter.proto
Enum values:
Name | Value | Description |
---|---|---|
SCROLL_NONE | 0 | |
SCROLL_MAIN_THREAD | 1 | |
SCROLL_COMPOSITOR_THREAD | 2 | |
SCROLL_RASTER | 3 | |
SCROLL_UNKNOWN | 4 | Used when it can't be determined whether a scroll is in progress or not. |
ChromeFrameReporter.FrameType
Defined in chrome_frame_reporter.proto
Enum values:
Name | Value | Description |
---|---|---|
FORKED | 0 | |
BACKFILL | 1 |
ChromeApplicationStateInfo
Trace event arguments for application state changes.
Defined in chrome_application_state_info.proto
Fields:
Field | Type | Description |
---|---|---|
application_state | ChromeApplicationState |
ChromeApplicationStateInfo.ChromeApplicationState
Enum definition taken from: https://source.chromium.org/chromium/chromium/src/+/master:base/android/application_status_listener.h
Defined in chrome_application_state_info.proto
Enum values:
Name | Value | Description |
---|---|---|
APPLICATION_STATE_UNKNOWN | 0 | |
APPLICATION_STATE_HAS_RUNNING_ACTIVITIES | 1 | |
APPLICATION_STATE_HAS_PAUSED_ACTIVITIES | 2 | |
APPLICATION_STATE_HAS_STOPPED_ACTIVITIES | 3 | |
APPLICATION_STATE_HAS_DESTROYED_ACTIVITIES | 4 |
ChromeRendererSchedulerState
Defined in chrome_renderer_scheduler_state.proto
Fields:
Field | Type | Description |
---|---|---|
rail_mode | ChromeRAILMode | |
is_backgrounded | bool | |
is_hidden | bool |
ChromeRAILMode
RAIL Mode is an indication of the kind of work that a Renderer is currently performing which is in turn used to prioritise work accordingly. A fuller description of these modes can be found https://web.dev/rail/
Defined in chrome_renderer_scheduler_state.proto
Enum values:
Name | Value | Description |
---|---|---|
RAIL_MODE_NONE | 0 | |
RAIL_MODE_RESPONSE | 1 | |
RAIL_MODE_ANIMATION | 2 | |
RAIL_MODE_IDLE | 3 | |
RAIL_MODE_LOAD | 4 |
ChromeWindowHandleEventInfo
Details about HWNDMessageHandler trace events.
Defined in chrome_window_handle_event_info.proto
Fields:
Field | Type | Description |
---|---|---|
dpi | uint32 | |
message_id | uint32 | |
hwnd_ptr | fixed64 |
ChromeContentSettingsEventInfo
Details about ContentSettings trace events.
Defined in chrome_content_settings_event_info.proto
Fields:
Field | Type | Description |
---|---|---|
number_of_exceptions | uint32 | The number of user defined hostname patterns for content settings at browser start. Similar to UMA histogram 'ContentSettings.NumberOfExceptions'. |
ChromeActiveProcesses
A list of processes connected to the tracing service.
Defined in chrome_active_processes.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32[] |
Screenshot
Defined in screenshot.proto
Fields:
Field | Type | Description |
---|---|---|
jpg_image | bytes |
ChromeMessagePump
Details about Chrome message pump events
Defined in chrome_message_pump.proto
Fields:
Field | Type | Description |
---|---|---|
sent_messages_in_queue | bool | True if there are sent messages in the queue. |
io_handler_location_iid | uint64 | Interned SourceLocation of IO handler that MessagePumpForIO is about to invoke. |
ChromeMojoEventInfo
Contains information to identify mojo handling events. The trace events in mojo are common for all mojo interfaces and this information is used to identify who is the caller or callee.
Defined in chrome_mojo_event_info.proto
Fields:
Field | Type | Description |
---|---|---|
watcher_notify_interface_tag | string | Contains the interface name or the file name of the creator of a mojo handle watcher, recorded when an event if notified to the watcher. The code that runs within the track event belongs to the interface. |
ipc_hash | uint32 | The hash of the IPC message that is being handled. |
mojo_interface_tag | string | A static string representing the mojo interface name of the message that is being handled. |
mojo_interface_method_iid | uint64 | Refers to an interned UnsymbolizedSourceLocation. The UnsymbolizedSourceLocation contains the interface method that's being handled, represented as a native symbol. The native symbol can be symbolized after the trace is recorded. Not using a symbolized source location for official Chromium builds to reduce binary size - emitting file/function names as strings into the trace requires storing them in the binary, which causes a significant binary size bloat for Chromium. |
is_reply | bool | Indicate whether this is a message or reply. |
payload_size | uint64 | The payload size of the message being sent through mojo messages. |
data_num_bytes | uint64 | Represents the size of the message. Includes all headers and user payload. |
TrackEvent.LegacyEvent
Apart from {category, time, thread time, tid, pid}, other legacy trace event attributes are initially simply proxied for conversion to a JSON trace. We intend to gradually transition these attributes to similar native features in TrackEvent (e.g. async + flow events), or deprecate them without replacement where transition is unsuitable.
Defined in track_event.proto
Fields:
Field | Type | Description |
---|---|---|
name_iid | uint64 | Deprecated, use TrackEvent::name(_iid) instead. interned EventName. |
phase | int32 | |
duration_us | int64 | |
thread_duration_us | int64 | |
thread_instruction_delta | int64 | Elapsed retired instruction count during the event. |
unscoped_id | uint64 | |
local_id | uint64 | |
global_id | uint64 | |
id_scope | string | Additional optional scope for id . |
use_async_tts | bool | Consider the thread timestamps for async BEGIN/END event pairs as valid. |
bind_id | uint64 | Idenfifies a flow. Flow events with the same bind_id are connected. |
bind_to_enclosing | bool | Use the enclosing slice as binding point for a flow end event instead of the next slice. Flow start/step events always bind to the enclosing slice. |
flow_direction | FlowDirection | |
instant_event_scope | InstantEventScope | |
pid_override | int32 | Override the pid/tid if the writer needs to emit events on behalf of another process/thread. This should be the exception. Normally, the pid+tid from ThreadDescriptor is used. |
tid_override | int32 |
TrackEvent.LegacyEvent.FlowDirection
Defined in track_event.proto
Enum values:
Name | Value | Description |
---|---|---|
FLOW_UNSPECIFIED | 0 | |
FLOW_IN | 1 | |
FLOW_OUT | 2 | |
FLOW_INOUT | 3 |
TrackEvent.LegacyEvent.InstantEventScope
Defined in track_event.proto
Enum values:
Name | Value | Description |
---|---|---|
SCOPE_UNSPECIFIED | 0 | |
SCOPE_GLOBAL | 1 | |
SCOPE_PROCESS | 2 | |
SCOPE_THREAD | 3 |
TraceUuid
A random unique ID that identifies the trace. This message has been introduced in v32. Prior to that, the UUID was only (optionally) present in the TraceConfig.trace_uuid_msb/lsb fields. This has been moved to a standalone packet to deal with new use-cases for go/gapless-aot, where the same tracing session can be serialized several times, in which case the UUID is changed on each snapshot and does not match the one in the TraceConfig.
Defined in trace_uuid.proto
Fields:
Field | Type | Description |
---|---|---|
msb | int64 | |
lsb | int64 |
FtraceStats
Errors and kernel buffer stats for the ftrace data source.
Defined in ftrace_stats.proto
Fields:
Field | Type | Description |
---|---|---|
phase | Phase | A pair of FtraceStats is written on every trace flush: * START_OF_TRACE - stats recorded at the beginning of the trace. * END_OF_TRACE - stats recorded during the flush. In other words shortly before this packet was written. For simple traces this will be once at the end of the trace. |
cpu_stats | FtraceCpuStats[] | Per-CPU stats (one entry for each CPU). |
kernel_symbols_parsed | uint32 | When FtraceConfig.symbolize_ksyms = true, this records the number of symbols parsed from /proc/kallsyms, whether they have been seen in the trace or not. It can be used to debug kptr_restrict or security-related errors. Note: this will be valid only when phase = END_OF_TRACE. The symbolizer is initialized. When START_OF_TRACE is emitted it is not ready yet. |
kernel_symbols_mem_kb | uint32 | The memory used by the kernel symbolizer (KernelSymbolMap.size_bytes()). |
atrace_errors | string | Atrace errors (even non-fatal ones) are reported here. A typical example is one or more atrace categories not available on the device. |
unknown_ftrace_events | string[] | Ftrace events requested by the config but not present on device. |
failed_ftrace_events | string[] | Ftrace events requested by the config and present on device, but which we failed to enable due to permissions, or due to a conflicting option (currently FtraceConfig.disable_generic_events). |
preserve_ftrace_buffer | bool | The data source was configured to preserve existing events in the ftrace buffer before the start of the trace. |
ftrace_parse_errors | FtraceParseStatus[] | Unique errors encountered during reading and parsing of the raw ftrace data. Ring buffer ABI related errors will also be recorded in the affected FtraceEventBundles with a timestamp. Any traces with entries in this field should be investigated, as they indicate a bug in perfetto or the kernel. |
kprobe_stats | FtraceKprobeStats | Kprobe profile stats for functions hits and misses |
FtraceStats.Phase
Defined in ftrace_stats.proto
Enum values:
Name | Value | Description |
---|---|---|
UNSPECIFIED | 0 | |
START_OF_TRACE | 1 | |
END_OF_TRACE | 2 |
FtraceCpuStats
Per-CPU kernel buffer stats for the ftrace data source gathered from /sys/kernel/tracing/per_cpu/cpuX/stats.
Defined in ftrace_stats.proto
Fields:
Field | Type | Description |
---|---|---|
cpu | uint64 | CPU index. |
entries | uint64 | Number of entries currently in the kernel buffer. |
overrun | uint64 | Number of events lost in kernel buffers due to overwriting of old events before userspace had a chance to drain them. Valid if the buffer is in "overwrite" mode, otherwise see dropped_events . |
commit_overrun | uint64 | This should always be zero. If not the buffer size is way too small or something went wrong with the tracer. Quoting the kernel: "number of commits failing due to the buffer wrapping around while there are uncommitted events, such as during an interrupt storm". |
bytes_read | uint64 | Size of entries currently in the kernel buffer (see entries ) in bytes.The field should be named "bytes", but is misnamed for historical reasons. This value has known inaccuracies before Linux v6.6: https://github.com/torvalds/linux/commit/45d99ea |
oldest_event_ts | double | The timestamp for the oldest event still in the ring buffer. Unit: seconds for typical trace clocks (i.e. not tsc/counter). |
now_ts | double | The current timestamp. Unit: seconds for typical trace clocks (i.e. not tsc/counter). |
dropped_events | uint64 | If the kernel buffer has overwrite mode disabled, this will show the number of new events that were lost because the buffer was full. This is similar to overrun but only for the overwrite=false case. |
read_events | uint64 | The number of events read (consumed) from the buffer by userspace. |
FtraceParseStatus
Defined in ftrace_stats.proto
Enum values:
Name | Value | Description |
---|---|---|
FTRACE_STATUS_UNSPECIFIED | 0 | |
FTRACE_STATUS_OK | 1 | Not written, used for convenience of implementation: |
FTRACE_STATUS_UNEXPECTED_READ_ERROR | 2 | Issues with reading data out of the ftrace ring buffer: |
FTRACE_STATUS_PARTIAL_PAGE_READ | 3 | |
FTRACE_STATUS_ABI_INVALID_PAGE_HEADER | 4 | Ring buffer binary data not matching our understanding of the layout: |
FTRACE_STATUS_ABI_SHORT_EVENT_HEADER | 5 | |
FTRACE_STATUS_ABI_NULL_PADDING | 6 | |
FTRACE_STATUS_ABI_SHORT_PADDING_LENGTH | 7 | |
FTRACE_STATUS_ABI_INVALID_PADDING_LENGTH | 8 | |
FTRACE_STATUS_ABI_SHORT_TIME_EXTEND | 9 | |
FTRACE_STATUS_ABI_SHORT_TIME_STAMP | 10 | |
FTRACE_STATUS_ABI_SHORT_DATA_LENGTH | 11 | |
FTRACE_STATUS_ABI_ZERO_DATA_LENGTH | 12 | |
FTRACE_STATUS_ABI_INVALID_DATA_LENGTH | 13 | |
FTRACE_STATUS_ABI_SHORT_EVENT_ID | 14 | |
FTRACE_STATUS_ABI_END_OVERFLOW | 15 | |
FTRACE_STATUS_SHORT_COMPACT_EVENT | 16 | Issues with parsing the event payload: |
FTRACE_STATUS_INVALID_EVENT | 17 |
FtraceKprobeStats
Kprobe statistical data, gathered from /sys/kernel/tracing/kprobe_profile.
Defined in ftrace_stats.proto
Fields:
Field | Type | Description |
---|---|---|
hits | int64 | Cumulative number of kprobe events generated for this function |
misses | int64 | Cumulative number of kprobe events that could not be generated for this function and were missed. This happens when too much nesting happens between a kprobe and its kretprobe, overflowing the maxactives buffer. |
TraceStats
Statistics for the internals of the tracing service.
Defined in trace_stats.proto
Fields:
Field | Type | Description |
---|---|---|
buffer_stats | BufferStats[] | Stats for the TraceBuffer(s) of the current trace session. |
chunk_payload_histogram_def | int64[] | The thresholds of each the writer_stats histogram buckets. This is emitted only once as all WriterStats share the same bucket layout.This field has the same cardinality of the writer_stats.chunk_payload_histogram_{counts,sum} - 1.(The -1 is because the last overflow bucket is not reported in the _def). An array of values [10, 100, 1000] in the _def array means that there are four buckets (3 + the implicit overflow bucket): [0]: x <= 10; [1]: 100 < x <= 1000; [2]: 1000 < x <= 1000; [3]: x > 1000. |
writer_stats | WriterStats[] | |
producers_connected | uint32 | Num. producers connected (whether they are involved in the current tracing session or not). |
producers_seen | uint64 | Num. producers ever seen for all trace sessions since startup (it's a good proxy for inferring num. producers crashed / killed). |
data_sources_registered | uint32 | Num. data sources registered for all trace sessions. |
data_sources_seen | uint64 | Num. data sources ever seen for all trace sessions since startup. |
tracing_sessions | uint32 | Num. concurrently active tracing sessions. |
total_buffers | uint32 | Num. buffers for all tracing session (not just the current one). This will be >= buffer_stats.size(), because the latter is only about the current session. |
chunks_discarded | uint64 | Num. chunks that were discarded by the service before attempting to commit them to a buffer, e.g. because the producer specified an invalid buffer ID. |
patches_discarded | uint64 | Num. patches that were discarded by the service before attempting to apply them to a buffer, e.g. because the producer specified an invalid buffer ID. |
invalid_packets | uint64 | Packets that failed validation of the TrustedPacket. If this is > 0, there is a bug in the producer. |
filter_stats | FilterStats | |
flushes_requested | uint64 | Count of Flush() requests (either from the Consumer, or self-induced periodic flushes). The final Flush() is also included in the count. |
flushes_succeeded | uint64 | The count of the Flush() requests that were completed successfully. In a well behaving trace this should always be == flush_requests . |
flushes_failed | uint64 | The count of the Flush() requests that failed (in most timed out). In a well behaving trace this should always be == 0. |
final_flush_outcome | FinalFlushOutcome |
TraceStats.BufferStats
From TraceBuffer::Stats.
Defined in trace_stats.proto
Fields:
Field | Type | Description |
---|---|---|
buffer_size | uint64 | Size of the circular buffer in bytes. |
bytes_written | uint64 | Num. bytes written into the circular buffer, including chunk headers. |
bytes_overwritten | uint64 | Num. bytes overwritten before they have been read (i.e. loss of data). |
bytes_read | uint64 | Total size of chunks that were fully read from the circular buffer by the consumer. This may not be equal to bytes_written either in the middle of tracing, or if chunks_overwritten is non-zero. Note that this is the size of the chunks read from the buffer, including chunk headers, which will be different from the total size of packets returned to the consumer.The current utilization of the trace buffer (mid-tracing) can be obtained by subtracting bytes_read and bytes_overwritten from bytes_written , adding the difference of padding_bytes_written and padding_bytes_cleared , and comparing this sum to the buffer_size .Note that this represents the total size of buffered data in the buffer, yet this data may be spread non-contiguously through the buffer and may be overridden before the utilization reaches 100%. |
padding_bytes_written | uint64 | Num. bytes that were allocated as padding between chunks in the circular buffer. |
padding_bytes_cleared | uint64 | Num. of padding bytes that were removed from the circular buffer when they were overwritten. The difference between padding_bytes_written and padding_bytes_cleared denotes the total size of padding currently present in the buffer. |
chunks_written | uint64 | Num. chunks (!= packets) written into the buffer. |
chunks_rewritten | uint64 | Num. chunks (!= packets) rewritten into the buffer. This means we rewrote the same chunk with additional packets appended to the end. |
chunks_overwritten | uint64 | Num. chunks overwritten before they have been read (i.e. loss of data). |
chunks_discarded | uint64 | Num. chunks discarded (i.e. loss of data). Can be > 0 only when a buffer is configured with FillPolicy == DISCARD. |
chunks_read | uint64 | Num. chunks (!= packets) that were fully read from the circular buffer by the consumer. This may not be equal to chunks_written either in the middle of tracing, or if chunks_overwritten is non-zero. |
chunks_committed_out_of_order | uint64 | Num. chunks that were committed out of order. |
write_wrap_count | uint64 | Num. times the ring buffer wrapped around. |
patches_succeeded | uint64 | Num. out-of-band (OOB) patches that succeeded. |
patches_failed | uint64 | Num. OOB patches that failed (e.g., the chunk to patch was gone). |
readaheads_succeeded | uint64 | Num. readaheads (for large multi-chunk packet reads) that ended up in a successful packet read. |
readaheads_failed | uint64 | Num. readaheads aborted because of missing chunks in the sequence stream. Note that a small number > 0 is totally expected: occasionally, when issuing a read, the very last packet in a sequence might be incomplete (because the producer is still writing it while we read). The read will stop at that point, for that sequence, increasing this counter. |
abi_violations | uint64 | Num. of violations of the SharedMemoryABI found while writing or reading the buffer. This is an indication of either a bug in the producer(s) or malicious producer(s). |
trace_writer_packet_loss | uint64 | Num. of times the service detected packet loss on a trace writer sequence. This is usually caused by exhaustion of available chunks in the writer process's SMB. Note that this relies on the client's TraceWriter indicating this loss to the service -- packets lost for other reasons are not reflected in this stat. |
TraceStats.WriterStats
Per TraceWriter stat. Each {producer, trace writer} tuple is publicly visible as a unique sequence ID in the trace.
Defined in trace_stats.proto
Fields:
Field | Type | Description |
---|---|---|
sequence_id | uint64 | This matches the TracePacket.trusted_packet_sequence_id and is used to correlate the stats with the actual packet types. |
buffer | uint32 | The buffer index (0..N, as defined in the TraceConfig). |
chunk_payload_histogram_counts | uint64[] | These two arrays have the same cardinality and match the cardinality of chunk_payload_histogram_def + 1 (for the overflow bucket, see below).sum contains the SUM(entries) and counts contains the COUNT(entries) for each bucket. |
chunk_payload_histogram_sum | int64[] |
TraceStats.FilterStats
This is set only when the TraceConfig specifies a TraceFilter.
Defined in trace_stats.proto
Fields:
Field | Type | Description |
---|---|---|
input_packets | uint64 | |
input_bytes | uint64 | |
output_bytes | uint64 | |
errors | uint64 | |
time_taken_ns | uint64 | |
bytes_discarded_per_buffer | uint64[] | The number of bytes discarded by the filter (i.e. output - input). The array has one entry for each buffer defined in the config (unless no packets for that buffer were seen and hence filtered). Note: the SUM(bytes_discarded_per_buffer) will be <= but not == the total (output_bytes - input_bytes) because the filter might also discard server-generated synthetic packets, that have no buffer index. |
TraceStats.FinalFlushOutcome
Defined in trace_stats.proto
Enum values:
Name | Value | Description |
---|---|---|
FINAL_FLUSH_UNSPECIFIED | 0 | |
FINAL_FLUSH_SUCCEEDED | 1 | |
FINAL_FLUSH_FAILED | 2 |
ProfilePacket
The packet emitted by heapprofd for each heap snapshot. A snapshot can
involve more than one ProfilePacket if the snapshot is big (when continued
is true). The cardinality and grouping is as follows:
A ProfilePacket contains:
- 1+ per-process heap snapshots (ProcessHeapSamples). Normally there is only one heap per process (the main malloc/free heap), but there can be more if the process is using the heapprofd API to profile custom allocators.
- Globally interned strings, mappings and frames (to allow de-duplicating frames/mapping in common between different processes). A ProcessHeapSamples contains:
- The process and heap identifier.
- A number of HeapSample, one for each callsite that had some alloc/frees.
- Statistics about heapprofd internals (e.g., sampling/unwinding timings). A HeapSample contains statistics about callsites:
- Total number of bytes allocated and freed from that callsite.
- Total number of alloc/free calls sampled.
- Stats at the local maximum when dump_at_max = true. See https://perfetto.dev/docs/data-sources/native-heap-profiler for more.
Defined in profile_packet.proto
Fields:
Field | Type | Description |
---|---|---|
strings | InternedString[] | The following interning tables are only used in Android version Q. In newer versions, these tables are in InternedData (see protos/perfetto/trace/interned_data) and are shared across multiple ProfilePackets. For backwards compatibility, consumers need to first look up interned data in the tables within the ProfilePacket, and then, if they are empty, look up in the InternedData instead. |
mappings | Mapping[] | |
frames | Frame[] | |
callstacks | Callstack[] | |
process_dumps | ProcessHeapSamples[] | |
continued | bool | If this is true, the next ProfilePacket in this package_sequence_id is a continuation of this one. To get all samples for a process, accummulate its ProcessHeapSamples.samples until you see continued=false. |
index | uint64 | Index of this ProfilePacket on its package_sequence_id. Can be used to detect dropped data. Verify these are consecutive. |
InternedString
The interning fields in this file can refer to 2 different intern tables, depending on the message they are used in. If the interned fields are present in ProfilePacket proto, then the intern tables included in the ProfilePacket should be used. If the intered fields are present in the StreamingProfilePacket proto, then the intern tables included in all of the previous InternedData message with same sequence ID should be used.
Defined in profile_common.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
str | bytes |
Mapping
Defined in profile_common.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | Interning key. |
build_id | uint64 | Interning key. |
exact_offset | uint64 | This is not set on Android 10. |
start_offset | uint64 | |
start | uint64 | |
end | uint64 | |
load_bias | uint64 | |
path_string_ids | uint64[] | E.g. ["system", "lib64", "libc.so"] id of string. |
Frame
Defined in profile_common.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | Interning key |
function_name_id | uint64 | E.g. "fopen" id of string. |
mapping_id | uint64 | |
rel_pc | uint64 |
Callstack
Defined in profile_common.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
frame_ids | uint64[] | Frames of this callstack. Bottom frame first. |
ProfilePacket.ProcessHeapSamples
Defined in profile_packet.proto
Fields:
Field | Type | Description |
---|---|---|
pid | uint64 | |
from_startup | bool | This process was profiled from startup. If false, this process was already running when profiling started. |
rejected_concurrent | bool | This process was not profiled because a concurrent session was active. If this is true, samples will be empty. |
disconnected | bool | This process disconnected while it was profiled. If false, the process outlived the profiling session. |
buffer_overran | bool | If disconnected, this disconnect was caused by the client overrunning the buffer. Equivalent to client_error == CLIENT_ERROR_HIT_TIMEOUT on new S builds. |
client_error | ClientError | |
buffer_corrupted | bool | If disconnected, this disconnected was caused by the shared memory buffer being corrupted. THIS IS ALWAYS A BUG IN HEAPPROFD OR CLIENT MEMORY CORRUPTION. |
hit_guardrail | bool | If disconnected, this disconnect was caused by heapprofd exceeding guardrails during this profiling session. |
heap_name | string | |
sampling_interval_bytes | uint64 | |
orig_sampling_interval_bytes | uint64 | |
timestamp | uint64 | Timestamp of the state of the target process that this dump represents. This can be different to the timestamp of the TracePackets for various reasons: * If disconnected is set above, this is the timestamp of last state heapprofd had of the process before it disconnected. * Otherwise, if the rate of events produced by the process is high, heapprofd might be behind. to have a type enum that we can reuse here. |
stats | ProcessStats | Metadata about heapprofd. |
samples | HeapSample[] |
ProfilePacket.ProcessHeapSamples.ClientError
Defined in profile_packet.proto
Enum values:
Name | Value | Description |
---|---|---|
CLIENT_ERROR_NONE | 0 | |
CLIENT_ERROR_HIT_TIMEOUT | 1 | |
CLIENT_ERROR_INVALID_STACK_BOUNDS | 2 |
ProfilePacket.ProcessStats
Defined in profile_packet.proto
Fields:
Field | Type | Description |
---|---|---|
unwinding_errors | uint64 | |
heap_samples | uint64 | |
map_reparses | uint64 | |
unwinding_time_us | Histogram | |
total_unwinding_time_us | uint64 | |
client_spinlock_blocked_us | uint64 |
ProfilePacket.Histogram
Defined in profile_packet.proto
Fields:
Field | Type | Description |
---|---|---|
buckets | Bucket[] |
ProfilePacket.Histogram.Bucket
Defined in profile_packet.proto
Fields:
Field | Type | Description |
---|---|---|
upper_limit | uint64 | This bucket counts values from the previous bucket's (or -infinity if this is the first bucket) upper_limit (inclusive) to this upper_limit (exclusive). |
max_bucket | bool | This is the highest bucket. This is set instead of the upper_limit. Any values larger or equal to the previous bucket's upper_limit are counted in this bucket. |
count | uint64 | Number of values that fall into this range. |
ProfilePacket.HeapSample
Defined in profile_packet.proto
Fields:
Field | Type | Description |
---|---|---|
callstack_id | uint64 | |
self_allocated | uint64 | bytes allocated at this callstack. |
self_freed | uint64 | bytes allocated at this callstack that have been freed. |
self_max | uint64 | Bytes allocated by this callstack but not freed at the time the malloc heap usage of this process was maximal. This is only set if dump_at_max is true in HeapprofdConfig. In that case, self_allocated, self_freed and self_idle will not be set. |
self_max_count | uint64 | Number of allocations that were sampled at this callstack but not freed at the time the malloc heap usage of this process was maximal. This is only set if dump_at_max is true in HeapprofdConfig. In that case, self_allocated, self_freed and self_idle will not be set. |
timestamp | uint64 | timestamp [opt] |
alloc_count | uint64 | Number of allocations that were sampled at this callstack. |
free_count | uint64 | Number of allocations that were sampled at this callstack that have been freed. |
StreamingAllocation
Packet emitted by heapprofd when stream_allocations = true. Only for local testing. Doesn't report the callsite.
Defined in profile_packet.proto
Fields:
Field | Type | Description |
---|---|---|
address | uint64[] | |
size | uint64[] | |
sample_size | uint64[] | |
clock_monotonic_coarse_timestamp | uint64[] | |
heap_id | uint32[] | |
sequence_number | uint64[] |
StreamingFree
Packet emitted by heapprofd when stream_allocations = true. Only for local testing. Doesn't report the callsite.
Defined in profile_packet.proto
Fields:
Field | Type | Description |
---|---|---|
address | uint64[] | |
heap_id | uint32[] | |
sequence_number | uint64[] |
BatteryCounters
Defined in battery_counters.proto
Fields:
Field | Type | Description |
---|---|---|
charge_counter_uah | int64 | Battery capacity in microampere-hours(µAh). Also known as Coulomb counter. |
capacity_percent | float | Remaining battery capacity percentage of total capacity |
current_ua | int64 | Instantaneous battery current in microamperes(µA). Negative values indicate current being drained from the battery and positive values indicate current feeding the battery from a charge source (USB). See https://perfetto.dev/docs/data-sources/battery-counters for more info. |
current_avg_ua | int64 | Instantaneous battery current in microamperes(µA). |
name | string | Battery name, emitted only on multiple batteries. |
energy_counter_uwh | int64 | Battery capacity in microwatt-hours(µWh). |
voltage_uv | int64 | Battery voltage in microvolts(µV). |
PowerRails
Defined in power_rails.proto
Fields:
Field | Type | Description |
---|---|---|
rail_descriptor | RailDescriptor[] | This is only emitted at the beginning of the trace. |
energy_data | EnergyData[] |
PowerRails.RailDescriptor
Defined in power_rails.proto
Fields:
Field | Type | Description |
---|---|---|
index | uint32 | Index corresponding to the rail |
rail_name | string | Name of the rail |
subsys_name | string | Name of the subsystem to which this rail belongs |
sampling_rate | uint32 | Hardware sampling rate (Hz). |
PowerRails.EnergyData
Defined in power_rails.proto
Fields:
Field | Type | Description |
---|---|---|
index | uint32 | Index corresponding to RailDescriptor.index |
timestamp_ms | uint64 | Time since device boot(CLOCK_BOOTTIME) in milli-seconds. |
energy | uint64 | Accumulated energy since device boot in microwatt-seconds (uWs). |
AndroidLogPacket
Defined in android_log.proto
Fields:
Field | Type | Description |
---|---|---|
events | LogEvent[] | |
stats | Stats |
AndroidLogPacket.LogEvent
Defined in android_log.proto
Fields:
Field | Type | Description |
---|---|---|
log_id | AndroidLogId | The log buffer (e.g. MAIN, SYSTEM, RADIO) the event comes from. |
pid | int32 | PID (TGID), TID and UID of the task that emitted the event. |
tid | int32 | |
uid | int32 | |
timestamp | uint64 | Timestamp [ns]. The clock source is CLOCK_REALTIME, unlike many other Perfetto trace events that instead use CLOCK_BOOTTIME. The trace processor will take care of realigning clocks using the ClockSnapshot(s). |
tag | string | When log_id == LID_EVENTS, tag corresponds to the event name defined in the second column of /system/etc/event-log-tags. For all other events, tag is the app-specified argument passed to __android_log_write(). |
prio | AndroidLogPriority | Empty when log_id == LID_EVENTS. |
message | string | Empty when log_id == LID_EVENTS. |
args | Arg[] | Only populated when log_id == LID_EVENTS. |
AndroidLogId
Values from NDK's android/log.h.
Defined in android_log_constants.proto
Enum values:
Name | Value | Description |
---|---|---|
LID_DEFAULT | 0 | MAIN. |
LID_RADIO | 1 | |
LID_EVENTS | 2 | |
LID_SYSTEM | 3 | |
LID_CRASH | 4 | |
LID_STATS | 5 | |
LID_SECURITY | 6 | |
LID_KERNEL | 7 |
AndroidLogPriority
Defined in android_log_constants.proto
Enum values:
Name | Value | Description |
---|---|---|
PRIO_UNSPECIFIED | 0 | |
PRIO_UNUSED | 1 | _DEFAULT, but should never be seen in logs. |
PRIO_VERBOSE | 2 | |
PRIO_DEBUG | 3 | |
PRIO_INFO | 4 | |
PRIO_WARN | 5 | |
PRIO_ERROR | 6 | |
PRIO_FATAL | 7 |
AndroidLogPacket.LogEvent.Arg
Defined in android_log.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
int_value | int64 | |
float_value | float | |
string_value | string |
AndroidLogPacket.Stats
Stats are emitted only upon Flush() and are monotonic (i.e. they are absolute counters since the beginning of the lifetime of the tracing session and NOT relative to the previous Stats snapshot).
Defined in android_log.proto
Fields:
Field | Type | Description |
---|---|---|
num_total | uint64 | Total number of log events seen, including errors and skipped entries (num of events stored in the trace = total - failed - skipped). |
num_failed | uint64 | Parser failures. |
num_skipped | uint64 | Messages skipped due to filters. |
SystemInfo
Defined in system_info.proto
Fields:
Field | Type | Description |
---|---|---|
utsname | Utsname | |
android_build_fingerprint | string | |
android_device_manufacturer | string | The manufacturer of the product/hardware. Source : "ro.product.manufacturer" Introduced after Android W in Nov 2024 and is not supported on older versions. |
android_soc_model | string | The SoC model from which trace is collected |
android_guest_soc_model | string | The guest SoC model from which trace is collected in case of VMs |
android_hardware_revision | string | The hardware reversion from android device |
android_storage_model | string | The storage component from android_device. This field has been introduced after Android W in Aug 2024 and is not supported on older versions. |
android_ram_model | string | The RAM component information from android device. This field has been introduced after Android W in Aug 2024 and is not supported on older versions. |
tracing_service_version | string | The version of traced (the same returned by traced --version ).This is a human readable string with and its format varies depending on the build system and the repo (standalone vs AOSP). This is intended for human debugging only. |
android_sdk_version | uint64 | The Android SDK vesion (e.g. 21 for L, 31 for S etc). Introduced in Android T. |
page_size | uint32 | Kernel page size - sysconf(_SC_PAGESIZE). |
num_cpus | uint32 | Number of cpus - sysconf(_SC_NPROCESSORS_CONF). Might be different to the number of online cpus. Introduced in perfetto v44. |
timezone_off_mins | int32 | The timezone offset from UTC, as per strftime("%z"), in minutes. Introduced in v38 / Android V. |
hz | int64 | Ticks per second - sysconf(_SC_CLK_TCK). Not serialised as of perfetto v44. |
Utsname
Defined in system_info.proto
Fields:
Field | Type | Description |
---|---|---|
sysname | string | |
version | string | |
release | string | |
machine | string |
Trigger
When a TracingSession receives a trigger it records the boot time nanoseconds in the TracePacket's timestamp field as well as the name of the producer that triggered it. We emit this data so filtering can be done on triggers received in the trace.
Defined in trigger.proto
Fields:
Field | Type | Description |
---|---|---|
trigger_name | string | Name of the trigger which was received. |
producer_name | string | The actual producer that activated trigger . |
trusted_producer_uid | int32 | The verified UID of the producer. |
ChromeTrigger
Information about a specific trigger during a background tracing scenario Associated packet timestamps are useful to delimitate a scenario range in a trace. Triggers are also useful for filtering traces.
Defined in chrome_trigger.proto
Fields:
Field | Type | Description |
---|---|---|
trigger_name | string | Name of the trigger which was received. |
trigger_name_hash | fixed32 | SHA1 hash of the trigger name. |
flow_id | fixed64 | Flow id which should terminate on this trigger. |
PackagesList
Defined in packages_list.proto
Fields:
Field | Type | Description |
---|---|---|
packages | PackageInfo[] | |
parse_error | bool | At least one error occurred parsing the packages.list. |
read_error | bool | Failed to open / read packages.list. |
PackagesList.PackageInfo
Defined in packages_list.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
uid | uint64 | |
debuggable | bool | |
profileable_from_shell | bool | |
version_code | int64 |
ChromeBenchmarkMetadata
This message is not intended to be written by the chrome on the device. It's emitted on the host by the telemetry benchmark infrastructure (it's a part of the trace that's written by the telemetry tracing agent).
Defined in chrome_benchmark_metadata.proto
Fields:
Field | Type | Description |
---|---|---|
benchmark_start_time_us | int64 | Time when the benchmark execution started (host unixtime in microseconds). |
story_run_time_us | int64 | Time when this particular story was run (host unixtime in microseconds). |
benchmark_name | string | Name of benchmark. |
benchmark_description | string | Description of benchmark. |
label | string | Optional label. |
story_name | string | Name of story. |
story_tags | string[] | List of story tags. |
story_run_index | int32 | Index of the story run (>0 if the same story was run several times). |
had_failures | bool | Whether this run failed. |
PerfettoMetatrace
Used to trace the execution of perfetto itself.
Defined in perfetto_metatrace.proto
Fields:
Field | Type | Description |
---|---|---|
event_id | uint32 | |
counter_id | uint32 | |
event_name | string | For trace processor metatracing. |
event_name_iid | uint64 | |
counter_name | string | |
event_duration_ns | uint64 | Only when using event_id . |
counter_value | int32 | Only when using counter_id . |
thread_id | uint32 | ID of the thread that emitted the event. |
has_overruns | bool | If true the meta-tracing ring buffer had overruns and hence some data is missing from this point. |
args | Arg[] | Args for the event. |
interned_strings | InternedString[] |
PerfettoMetatrace.Arg
Defined in perfetto_metatrace.proto
Fields:
Field | Type | Description |
---|---|---|
key | string | |
key_iid | uint64 | |
value | string | |
value_iid | uint64 |
PerfettoMetatrace.InternedString
Interned strings corresponding to the event_name_iid
, key_iid
and
value_iid
above.
Defined in perfetto_metatrace.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
value | string |
ChromeMetadataPacket
Metadata for chrome traces.
Defined in chrome_metadata.proto
Fields:
Field | Type | Description |
---|---|---|
background_tracing_metadata | BackgroundTracingMetadata | |
chrome_version_code | int32 | Version code of Chrome used by Android's Play Store. This field is only set on Android. |
enabled_categories | string | Comma separated list of enabled categories for tracing. The list of possible category strings are listed in code base/trace_event/builtin_categories.h. |
field_trial_hashes | FinchHash[] | List of Finch study/groups that apply to this trace. |
BackgroundTracingMetadata
Metadata related to background tracing scenarios, states and triggers.
Defined in chrome_metadata.proto
Fields:
Field | Type | Description |
---|---|---|
triggered_rule | TriggerRule | Specifies the rule that caused the trace to be uploaded. |
active_rules | TriggerRule[] | List of all active triggers in current session, when trace was triggered. |
scenario_name_hash | fixed32 | Hash of the scenario name. |
BackgroundTracingMetadata.TriggerRule
Information about a trigger rule defined in the experiment config.
Defined in chrome_metadata.proto
Fields:
Field | Type | Description |
---|---|---|
trigger_type | TriggerType | |
histogram_rule | HistogramRule | |
named_rule | NamedRule | |
name_hash | fixed32 | Hash of the rule name. |
BackgroundTracingMetadata.TriggerRule.TriggerType
Defined in chrome_metadata.proto
Enum values:
Name | Value | Description |
---|---|---|
TRIGGER_UNSPECIFIED | 0 | |
MONITOR_AND_DUMP_WHEN_SPECIFIC_HISTOGRAM_AND_VALUE | 1 | Traces are triggered by specific range of values of an UMA histogram. |
MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED | 2 | Traces are triggered by specific named events in chromium codebase, like "second-update-failure". |
BackgroundTracingMetadata.TriggerRule.HistogramRule
Configuration of histogram trigger.
Defined in chrome_metadata.proto
Fields:
Field | Type | Description |
---|---|---|
histogram_name_hash | fixed64 | UMA histogram name hash, same as HistogramEventProto.name_hash. |
histogram_min_trigger | int64 | Range of values of the histogram that activates trigger. |
histogram_max_trigger | int64 |
BackgroundTracingMetadata.TriggerRule.NamedRule
Configuration of named trigger.
Defined in chrome_metadata.proto
Fields:
Field | Type | Description |
---|---|---|
event_type | EventType | |
content_trigger_name_hash | fixed64 | If event_type is CONTENT_TRIGGER, then this stores the hash of the content-trigger that actually fired. |
BackgroundTracingMetadata.TriggerRule.NamedRule.EventType
Defined in chrome_metadata.proto
Enum values:
Name | Value | Description |
---|---|---|
UNSPECIFIED | 0 | |
SESSION_RESTORE | 1 | |
NAVIGATION | 2 | |
STARTUP | 3 | |
REACHED_CODE | 4 | |
CONTENT_TRIGGER | 5 | |
TEST_RULE | 1000 |
ChromeMetadataPacket.FinchHash
Finch name and group based on the ActiveGroupId.
Defined in chrome_metadata.proto
Fields:
Field | Type | Description |
---|---|---|
name | uint32 | |
group | uint32 |
GpuCounterEvent
Defined in gpu_counter_event.proto
Fields:
Field | Type | Description |
---|---|---|
counter_descriptor | GpuCounterDescriptor | The first trace packet of each session should include counter_spec. |
counters | GpuCounter[] | |
gpu_id | int32 | optional. Identifier for GPU in a multi-gpu device. |
GpuCounterDescriptor
Description of GPU counters. This message is sent by a GPU counter producer to specify the counters available in the hardware.
Defined in gpu_counter_descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
specs | GpuCounterSpec[] | |
blocks | GpuCounterBlock[] | |
min_sampling_period_ns | uint64 | optional. Minimum sampling period supported by the producer in nanoseconds. |
max_sampling_period_ns | uint64 | optional. Maximum sampling period supported by the producer in nanoseconds. |
supports_instrumented_sampling | bool | optional. The producer supports counter sampling by instrumenting the command buffer. |
GpuCounterDescriptor.GpuCounterSpec
Defined in gpu_counter_descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
counter_id | uint32 | |
name | string | |
description | string | |
int_peak_value | int64 | |
double_peak_value | double | |
numerator_units | MeasureUnit[] | |
denominator_units | MeasureUnit[] | |
select_by_default | bool | |
groups | GpuCounterGroup[] |
GpuCounterDescriptor.MeasureUnit
Defined in gpu_counter_descriptor.proto
Enum values:
Name | Value | Description |
---|---|---|
NONE | 0 | |
BIT | 1 | |
KILOBIT | 2 | |
MEGABIT | 3 | |
GIGABIT | 4 | |
TERABIT | 5 | |
PETABIT | 6 | |
BYTE | 7 | |
KILOBYTE | 8 | |
MEGABYTE | 9 | |
GIGABYTE | 10 | |
TERABYTE | 11 | |
PETABYTE | 12 | |
HERTZ | 13 | |
KILOHERTZ | 14 | |
MEGAHERTZ | 15 | |
GIGAHERTZ | 16 | |
TERAHERTZ | 17 | |
PETAHERTZ | 18 | |
NANOSECOND | 19 | |
MICROSECOND | 20 | |
MILLISECOND | 21 | |
SECOND | 22 | |
MINUTE | 23 | |
HOUR | 24 | |
VERTEX | 25 | |
PIXEL | 26 | |
TRIANGLE | 27 | |
PRIMITIVE | 38 | |
FRAGMENT | 39 | |
MILLIWATT | 28 | |
WATT | 29 | |
KILOWATT | 30 | |
JOULE | 31 | |
VOLT | 32 | |
AMPERE | 33 | |
CELSIUS | 34 | |
FAHRENHEIT | 35 | |
KELVIN | 36 | |
PERCENT | 37 | Values should be out of 100. |
INSTRUCTION | 40 |
GpuCounterDescriptor.GpuCounterGroup
Logical groups for a counter. This is used in the UI to present the related counters together.
Defined in gpu_counter_descriptor.proto
Enum values:
Name | Value | Description |
---|---|---|
UNCLASSIFIED | 0 | |
SYSTEM | 1 | |
VERTICES | 2 | |
FRAGMENTS | 3 | |
PRIMITIVES | 4 | |
MEMORY | 5 | Includes counters relating to caching and bandwidth. |
COMPUTE | 6 |
GpuCounterDescriptor.GpuCounterBlock
Allow producer to group counters into block to represent counter islands. A capacity may be specified to indicate the number of counters that can be enable simultaneously in that block.
Defined in gpu_counter_descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
block_id | uint32 | required. Unique ID for the counter group. |
block_capacity | uint32 | optional. Number of counters supported by the block. No limit if unset. |
name | string | optional. Name of block. |
description | string | optional. Description for the block. |
counter_ids | uint32[] | list of counters that are part of the block. |
GpuCounterEvent.GpuCounter
Defined in gpu_counter_event.proto
Fields:
Field | Type | Description |
---|---|---|
counter_id | uint32 | required. Identifier for counter. |
int_value | int64 | |
double_value | double |
GpuRenderStageEvent
Defined in gpu_render_stage_event.proto
Fields:
Field | Type | Description |
---|---|---|
event_id | uint64 | required. Unique ID for the event. |
duration | uint64 | optional. Duration of the event in nanoseconds. If unset, this is a single time point event. |
hw_queue_iid | uint64 | required. ID to a hardware queue description in the specifications. InternedGpuRenderStageSpecification |
stage_iid | uint64 | required. ID to a render stage description in the specifications. InternedGpuRenderStageSpecification |
gpu_id | int32 | optional. Identifier for GPU in a multi-gpu device. |
context | uint64 | required. Graphics context for the event. For OpenGL, this is the GL context. For Vulkan, this is the VkDevice. |
render_target_handle | uint64 | optional. The render target for this event. For OpenGL, this is the GL frame buffer handle. For Vulkan, this is the VkFrameBuffer handle. |
submission_id | uint32 | optional. Submission ID generated by the UMD. For OpenGL, the ID should map to an API submission (e.g., glFlush, glFinish, eglSwapBufffers) event. The set of submissions to the HW due to a single API submission should share the same ID. For Vulkan, it should map 1:1 with a vkQueueSubmit. |
extra_data | ExtraData[] | |
render_pass_handle | uint64 | optional. The Vulkan render pass handle. |
render_subpass_index_mask | uint64[] | optional. A bit mask representing which render subpasses contributed to this render stage event. Subpass index 0 is represented by setting the LSB of the mask. Additional mask can be added for subpass index greater than 63. |
command_buffer_handle | uint64 | optional. The Vulkan command buffer handle. |
specifications | Specifications | Deprecated. Use hw_queue_iid and stage_iid to refer to InternedGpuRenderStageSpecification instead. |
hw_queue_id | int32 | Deprecated. Use hw_queue_iid instead; |
stage_id | int32 | Deprecated. Use stage_iid instead; |
GpuRenderStageEvent.ExtraData
optional. Additional data for the user. This may include attributes for the event like resource ids, shaders, etc.
Defined in gpu_render_stage_event.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
value | string |
GpuRenderStageEvent.Specifications
Deprecated. Use InternedGpuRenderStageSpecification instead. The first trace packet of each session should include a Specifications to enumerate all IDs that will be used. The timestamp of this packet must be earlier than all other packets. Only one packet with Specifications is expected.
Defined in gpu_render_stage_event.proto
Fields:
Field | Type | Description |
---|---|---|
context_spec | ContextSpec | |
hw_queue | Description[] | Labels to categorize the hw Queue this event goes on. |
stage | Description[] | Labels to categorize render stage(binning, render, compute etc). |
GpuRenderStageEvent.Specifications.ContextSpec
Defined in gpu_render_stage_event.proto
Fields:
Field | Type | Description |
---|---|---|
context | uint64 | |
pid | int32 |
GpuRenderStageEvent.Specifications.Description
Defined in gpu_render_stage_event.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
description | string |
StreamingProfilePacket
Packet emitted by the chromium in-process signal-based callstack sampler. Represents a series of individual stack samples (sampled at discrete points in time), rather than aggregated over an interval.
Defined in profile_packet.proto
Fields:
Field | Type | Description |
---|---|---|
callstack_iid | uint64[] | Index into InternedData.callstacks |
timestamp_delta_us | int64[] | this with ClockSnapshot-based delta encoding instead. |
process_priority | int32 |
HeapGraph
Defined in heap_graph.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | |
objects | HeapGraphObject[] | This contains all objects at the time this dump was taken. Some of these will be live, some of those unreachable (garbage). To find the live objects, the client needs to build the transitive closure of objects reachable from roots .All objects not contained within that transitive closure are garbage that has not yet been collected. |
roots | HeapGraphRoot[] | Roots at the time this dump was taken. All live objects are reachable from the roots. All other objects are garbage. |
types | HeapGraphType[] | Types used in HeapGraphObjects. |
field_names | InternedString[] | Field names for references in managed heap graph. |
location_names | InternedString[] | Paths of files used in managed heap graph. |
continued | bool | |
index | uint64 |
HeapGraphObject
Defined in heap_graph.proto
Fields:
Field | Type | Description |
---|---|---|
id | uint64 | |
id_delta | uint64 | |
type_id | uint64 | Index for InternedData.types for the name of the type of this object. |
self_size | uint64 | Bytes occupied by this objects. |
reference_field_id_base | uint64 | Add this to all non-zero values in reference_object_id. This is used to get more compact varint encoding. The name is confusing, but this has always been used as a base for reference_object_id. The field should be named reference_object_id_base. |
reference_field_id | uint64[] | Indices for InternedData.field_names for the name of the field referring to the object. For Android S+ and for instances of normal classes (e.g. not instances of java.lang.Class or arrays), this is instead set in the corresponding HeapGraphType, and this is left empty. |
reference_object_id | uint64[] | Ids of the Object that is referred to. |
native_allocation_registry_size_field | int64 | If this object is an instance of libcore.util.NativeAllocationRegistry , the value of the size field.N.B. This is not the native size of this object. |
heap_type_delta | HeapType | To reduce the space required we only emit the heap type if it has changed from the previous object we recorded. |
HeapGraphObject.HeapType
Defined in heap_graph.proto
Enum values:
Name | Value | Description |
---|---|---|
HEAP_TYPE_UNKNOWN | 0 | |
HEAP_TYPE_APP | 1 | |
HEAP_TYPE_ZYGOTE | 2 | |
HEAP_TYPE_BOOT_IMAGE | 3 |
HeapGraphRoot
Defined in heap_graph.proto
Fields:
Field | Type | Description |
---|---|---|
object_ids | uint64[] | Objects retained by this root. |
root_type | Type |
HeapGraphRoot.Type
Defined in heap_graph.proto
Enum values:
Name | Value | Description |
---|---|---|
ROOT_UNKNOWN | 0 | |
ROOT_JNI_GLOBAL | 1 | |
ROOT_JNI_LOCAL | 2 | |
ROOT_JAVA_FRAME | 3 | |
ROOT_NATIVE_STACK | 4 | |
ROOT_STICKY_CLASS | 5 | |
ROOT_THREAD_BLOCK | 6 | |
ROOT_MONITOR_USED | 7 | |
ROOT_THREAD_OBJECT | 8 | |
ROOT_INTERNED_STRING | 9 | |
ROOT_FINALIZING | 10 | |
ROOT_DEBUGGER | 11 | |
ROOT_REFERENCE_CLEANUP | 12 | |
ROOT_VM_INTERNAL | 13 | |
ROOT_JNI_MONITOR | 14 |
HeapGraphType
Defined in heap_graph.proto
Fields:
Field | Type | Description |
---|---|---|
id | uint64 | field to save space. |
location_id | uint64 | |
class_name | string | |
object_size | uint64 | Size of objects of this type. |
superclass_id | uint64 | |
reference_field_id | uint64[] | Indices for InternedData.field_names for the names of the fields of instances of this class. This does NOT include the fields from superclasses. The consumer of this data needs to walk all super classes to get a full lists of fields. Objects always write the fields in order of most specific class to the furthest up superclass. |
kind | Kind | |
classloader_id | uint64 |
HeapGraphType.Kind
Defined in heap_graph.proto
Enum values:
Name | Value | Description |
---|---|---|
KIND_UNKNOWN | 0 | |
KIND_NORMAL | 1 | |
KIND_NOREFERENCES | 2 | |
KIND_STRING | 3 | |
KIND_ARRAY | 4 | |
KIND_CLASS | 5 | |
KIND_CLASSLOADER | 6 | |
KIND_DEXCACHE | 7 | |
KIND_SOFT_REFERENCE | 8 | |
KIND_WEAK_REFERENCE | 9 | |
KIND_FINALIZER_REFERENCE | 10 | |
KIND_PHANTOM_REFERENCE | 11 |
GraphicsFrameEvent
Generated by Android's SurfaceFlinger.
Defined in graphics_frame_event.proto
Fields:
Field | Type | Description |
---|---|---|
buffer_event | BufferEvent |
GraphicsFrameEvent.BufferEvent
Defined in graphics_frame_event.proto
Fields:
Field | Type | Description |
---|---|---|
frame_number | uint32 | |
type | BufferEventType | |
layer_name | string | |
duration_ns | uint64 | If no duration is set, the event is an instant event. |
buffer_id | uint32 | Unique buffer identifier. |
GraphicsFrameEvent.BufferEventType
Defined in graphics_frame_event.proto
Enum values:
Name | Value | Description |
---|---|---|
UNSPECIFIED | 0 | |
DEQUEUE | 1 | |
QUEUE | 2 | |
POST | 3 | |
ACQUIRE_FENCE | 4 | |
LATCH | 5 | |
HWC_COMPOSITION_QUEUED | 6 | HWC will compose this buffer |
FALLBACK_COMPOSITION | 7 | renderEngine composition |
PRESENT_FENCE | 8 | |
RELEASE_FENCE | 9 | |
MODIFY | 10 | |
DETACH | 11 | |
ATTACH | 12 | |
CANCEL | 13 |
VulkanMemoryEvent
Each VulkanMemoryEvent encompasses information regarding one single function call that results in reserving, binding or freeing host or GPU memory. There is a special message type, ANNOTATIONS, which is used to communicate information that are not directly related to a memory event, nonetheless are essential to understand the memory usage. An example is the size and memory types of the memory heaps.
Defined in vulkan_memory_event.proto
Fields:
Field | Type | Description |
---|---|---|
source | Source | |
operation | Operation | |
timestamp | int64 | |
pid | uint32 | |
memory_address | fixed64 | |
memory_size | uint64 | |
caller_iid | uint64 | Interned string. Original string value is stored in function_names from protos/perfetto/trace/interned_data/interned_data.proto. |
allocation_scope | AllocationScope | |
annotations | VulkanMemoryEventAnnotation[] | Extra related information, e.g., create configs, etc. |
device | fixed64 | Field IDs used for device memory (low sampling rate) |
device_memory | fixed64 | |
memory_type | uint32 | |
heap | uint32 | |
object_handle | fixed64 |
VulkanMemoryEvent.Source
Defined in vulkan_memory_event.proto
Enum values:
Name | Value | Description |
---|---|---|
SOURCE_UNSPECIFIED | 0 | |
SOURCE_DRIVER | 1 | |
SOURCE_DEVICE | 2 | |
SOURCE_DEVICE_MEMORY | 3 | |
SOURCE_BUFFER | 4 | |
SOURCE_IMAGE | 5 |
VulkanMemoryEvent.Operation
Defined in vulkan_memory_event.proto
Enum values:
Name | Value | Description |
---|---|---|
OP_UNSPECIFIED | 0 | |
OP_CREATE | 1 | alloc, create |
OP_DESTROY | 2 | free, destroy(non-bound) |
OP_BIND | 3 | bind buffer and image |
OP_DESTROY_BOUND | 4 | destroy (bound) |
OP_ANNOTATIONS | 5 | only annotations |
VulkanMemoryEvent.AllocationScope
Defined in vulkan_memory_event.proto
Enum values:
Name | Value | Description |
---|---|---|
SCOPE_UNSPECIFIED | 0 | |
SCOPE_COMMAND | 1 | |
SCOPE_OBJECT | 2 | |
SCOPE_CACHE | 3 | |
SCOPE_DEVICE | 4 | |
SCOPE_INSTANCE | 5 |
VulkanMemoryEventAnnotation
All the information that cannot be sent within a VulkanMemoryEvent message, are sent as annotations to the main memory event. One example is the properties of the object that consumes the allocated memory, for example, a buffer or an image. key_iid and string_iid are both interned strings. Original string value is stored in vulkan_memory_keys from protos/perfetto/trace/interned_data/interned_data.proto.
Defined in vulkan_memory_event.proto
Fields:
Field | Type | Description |
---|---|---|
key_iid | uint64 | |
int_value | int64 | |
double_value | double | |
string_iid | uint64 |
GpuLog
Message for logging events GPU data producer.
Defined in gpu_log.proto
Fields:
Field | Type | Description |
---|---|---|
severity | Severity | |
tag | string | |
log_message | string |
GpuLog.Severity
Defined in gpu_log.proto
Enum values:
Name | Value | Description |
---|---|---|
LOG_SEVERITY_UNSPECIFIED | 0 | |
LOG_SEVERITY_VERBOSE | 1 | |
LOG_SEVERITY_DEBUG | 2 | |
LOG_SEVERITY_INFO | 3 | |
LOG_SEVERITY_WARNING | 4 | |
LOG_SEVERITY_ERROR | 5 |
VulkanApiEvent
Message for recording the Vulkan call.
Defined in vulkan_api_event.proto
Fields:
Field | Type | Description |
---|---|---|
vk_debug_utils_object_name | VkDebugUtilsObjectName | |
vk_queue_submit | VkQueueSubmit |
VulkanApiEvent.VkDebugUtilsObjectName
For recording vkSetDebugUtilsObjectNameEXT and vkDebugMarkerSetObjectNameEXT
Defined in vulkan_api_event.proto
Fields:
Field | Type | Description |
---|---|---|
pid | uint32 | |
vk_device | uint64 | |
object_type | int32 | VkObjectType. Value must match https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkObjectType.html. |
object | uint64 | |
object_name | string |
VulkanApiEvent.VkQueueSubmit
For recording vkQueueSubmit call.
Defined in vulkan_api_event.proto
Fields:
Field | Type | Description |
---|---|---|
duration_ns | uint64 | |
pid | uint32 | |
tid | uint32 | |
vk_queue | uint64 | |
vk_command_buffers | uint64[] | |
submission_id | uint32 | Submission ID. An identifier unique to each vkQueueSubmit call. This submission_id must match GpuRenderStageEvent.submission_id if the GpuRenderStageEvent is created due to this vkQueueSubmit. |
PerfSample
Packet emitted by the traced_perf sampling performance profiler, which gathers data via the perf_event_open syscall. Each packet contains an individual sample with a counter value, and optionally a callstack.
Timestamps are within the root packet. The config can specify the clock, or the implementation will default to CLOCK_MONOTONIC_RAW. Within the Android R timeframe, the default was CLOCK_BOOTTIME.
There are several distinct views of this message:
- indication of kernel buffer data loss (kernel_records_lost set)
- indication of skipped samples (sample_skipped_reason set)
- notable event in the sampling implementation (producer_event set)
- normal sample (timebase_count set, typically also callstack_iid)
Defined in profile_packet.proto
Fields:
Field | Type | Description |
---|---|---|
cpu | uint32 | |
pid | uint32 | |
tid | uint32 | |
cpu_mode | Profiling.CpuMode | Execution state that the process was sampled at. |
timebase_count | uint64 | Value of the timebase counter (since the event was configured, no deltas). |
follower_counts | uint64[] | Value of the followers counter (since the event was configured, no deltas). |
callstack_iid | uint64 | Unwound callstack. Might be partial, in which case a synthetic "error" frame is appended, and unwind_error is set accordingly. |
unwind_error | Profiling.StackUnwindError | If set, stack unwinding was incomplete due to an error. Unset values should be treated as UNWIND_ERROR_NONE. |
kernel_records_lost | uint64 | If set, indicates that this message is not a sample, but rather an indication of data loss in the ring buffer allocated for cpu . Such data loss occurs when the kernel has insufficient ring buffer capacity to write a record (which gets discarded). A record in this context is an individual ring buffer entry, and counts more than just sample records.The timestamp of the packet corresponds to the time that the producer wrote the packet for trace-sorting purposes alone, and should not be interpreted relative to the sample timestamps. This field is sufficient to detect that some kernel data loss happened within the trace, but not the specific time bounds of that loss (which would require tracking precedessor & successor timestamps, which is not deemed necessary at the moment). |
sample_skipped_reason | SampleSkipReason | |
producer_event | ProducerEvent |
Profiling.CpuMode
Defined in profile_packet.proto
Enum values:
Name | Value | Description |
---|---|---|
MODE_UNKNOWN | 0 | |
MODE_KERNEL | 1 | |
MODE_USER | 2 | |
MODE_HYPERVISOR | 3 | The following values aren't expected, but included for completeness: |
MODE_GUEST_KERNEL | 4 | |
MODE_GUEST_USER | 5 |
Profiling.StackUnwindError
Enumeration of libunwindstack's error codes. NB: the integral representations of the two enums are different.
Defined in profile_packet.proto
Enum values:
Name | Value | Description |
---|---|---|
UNWIND_ERROR_UNKNOWN | 0 | |
UNWIND_ERROR_NONE | 1 | |
UNWIND_ERROR_MEMORY_INVALID | 2 | |
UNWIND_ERROR_UNWIND_INFO | 3 | |
UNWIND_ERROR_UNSUPPORTED | 4 | |
UNWIND_ERROR_INVALID_MAP | 5 | |
UNWIND_ERROR_MAX_FRAMES_EXCEEDED | 6 | |
UNWIND_ERROR_REPEATED_FRAME | 7 | |
UNWIND_ERROR_INVALID_ELF | 8 | |
UNWIND_ERROR_SYSTEM_CALL | 9 | |
UNWIND_ERROR_THREAD_TIMEOUT | 10 | |
UNWIND_ERROR_THREAD_DOES_NOT_EXIST | 11 | |
UNWIND_ERROR_BAD_ARCH | 12 | |
UNWIND_ERROR_MAPS_PARSE | 13 | |
UNWIND_ERROR_INVALID_PARAMETER | 14 | |
UNWIND_ERROR_PTRACE_CALL | 15 |
PerfSample.SampleSkipReason
If set, indicates that the profiler encountered a sample that was relevant, but was skipped.
Defined in profile_packet.proto
Enum values:
Name | Value | Description |
---|---|---|
PROFILER_SKIP_UNKNOWN | 0 | |
PROFILER_SKIP_READ_STAGE | 1 | |
PROFILER_SKIP_UNWIND_STAGE | 2 | |
PROFILER_SKIP_UNWIND_ENQUEUE | 3 |
PerfSample.ProducerEvent
A notable event within the sampling implementation.
Defined in profile_packet.proto
Fields:
Field | Type | Description |
---|---|---|
source_stop_reason | DataSourceStopReason |
PerfSample.ProducerEvent.DataSourceStopReason
Defined in profile_packet.proto
Enum values:
Name | Value | Description |
---|---|---|
PROFILER_STOP_UNKNOWN | 0 | |
PROFILER_STOP_GUARDRAIL | 1 |
CpuInfo
Information about CPUs from procfs and sysfs.
Defined in cpu_info.proto
Fields:
Field | Type | Description |
---|---|---|
cpus | Cpu[] | Describes available CPUs, one entry per CPU. |
CpuInfo.Cpu
Information about a single CPU.
Defined in cpu_info.proto
Fields:
Field | Type | Description |
---|---|---|
processor | string | Value of "Processor" field from /proc/cpuinfo for this CPU. Example: "AArch64 Processor rev 12 (aarch64)" |
frequencies | uint32[] | Frequencies from /sys/devices/system/cpu/cpuX/cpufreq/scaling_available_frequencies where X is the index of this CPU. |
capacity | uint32 | Cpu capacity from /sys/devices/system/cpu/cpuX/cpu_capacity where X is the index of this CPU. |
arm_identifier | ArmCpuIdentifier |
CpuInfo.ArmCpuIdentifier
Defined in cpu_info.proto
Fields:
Field | Type | Description |
---|---|---|
implementer | uint32 | Implementer code |
architecture | uint32 | Architecture code |
variant | uint32 | CPU variant |
part | uint32 | CPU part |
revision | uint32 | CPU revision |
SmapsPacket
Defined in smaps.proto
Fields:
Field | Type | Description |
---|---|---|
pid | uint32 | |
entries | SmapsEntry[] |
SmapsEntry
Defined in smaps.proto
Fields:
Field | Type | Description |
---|---|---|
path | string | |
size_kb | uint64 | |
private_dirty_kb | uint64 | |
swap_kb | uint64 | |
file_name | string | for field upload (instead of path). |
start_address | uint64 | TODO(crbug.com/1098746): Consider encoding this as incremental values. |
module_timestamp | uint64 | |
module_debugid | string | |
module_debug_path | string | |
protection_flags | uint32 | |
private_clean_resident_kb | uint64 | |
shared_dirty_resident_kb | uint64 | |
shared_clean_resident_kb | uint64 | |
locked_kb | uint64 | |
proportional_resident_kb | uint64 |
TracingServiceEvent
Events emitted by the tracing service.
Defined in tracing_service_event.proto
Fields:
Field | Type | Description |
---|---|---|
tracing_started | bool | Emitted when we start tracing and specifically, this will be before any producer is notified about the existence of this trace. This is always emitted before the all_data_sources_started event. This event is also guaranteed to be seen (byte-offset wise) before any data packets from producers. |
all_data_sources_started | bool | Emitted after all data sources saw the start event and ACKed it. This identifies the point in time when it's safe to assume that all data sources have been recording events. |
flush_started | bool | Emitted when a flush is started. |
all_data_sources_flushed | bool | Emitted when all data sources have been flushed successfully or with an error (including timeouts). This can generally happen many times over the course of the trace. |
read_tracing_buffers_completed | bool | Emitted when reading back the central tracing buffers has been completed. If write_into_file is specified, this can happen many times over the course of the trace. |
tracing_disabled | bool | Emitted after tracing has been disabled and specifically, this will be after all packets from producers have been included in the central tracing buffer. |
seized_for_bugreport | bool | Emitted if perfetto --save-for-bugreport was invoked while the current tracing session was running and it had the highest bugreport_score. In this case the original consumer will see a nearly empty trace, because the contents are routed onto the bugreport file. This event flags the situation explicitly. Traces that contain this marker should be discarded by test infrastructures / pipelines. Deprecated since Android U, where --save-for-bugreport uses non-destructive cloning. |
slow_starting_data_sources | DataSources | Emitted when not all data sources in all producers reply to a start request after some time. |
last_flush_slow_data_sources | DataSources | Emitted when the last flush request has failed. Lists data sources that did not reply on time. |
TracingServiceEvent.DataSources
Defined in tracing_service_event.proto
Fields:
Field | Type | Description |
---|---|---|
data_source | DataSource[] |
TracingServiceEvent.DataSources.DataSource
Defined in tracing_service_event.proto
Fields:
Field | Type | Description |
---|---|---|
producer_name | string | |
data_source_name | string |
InitialDisplayState
Defined in initial_display_state.proto
Fields:
Field | Type | Description |
---|---|---|
display_state | int32 | Same values as android.view.Display.STATE_* |
brightness | double |
GpuMemTotalEvent
Generated by Android's GpuService.
Defined in gpu_mem_event.proto
Fields:
Field | Type | Description |
---|---|---|
gpu_id | uint32 | |
pid | uint32 | |
size | uint64 |
MemoryTrackerSnapshot
Defined in memory_graph.proto
Fields:
Field | Type | Description |
---|---|---|
global_dump_id | uint64 | Unique ID that represents the global memory dump. |
level_of_detail | LevelOfDetail | |
process_memory_dumps | ProcessSnapshot[] |
MemoryTrackerSnapshot.LevelOfDetail
Defined in memory_graph.proto
Enum values:
Name | Value | Description |
---|---|---|
DETAIL_FULL | 0 | |
DETAIL_LIGHT | 1 | |
DETAIL_BACKGROUND | 2 |
MemoryTrackerSnapshot.ProcessSnapshot
Memory snapshot of a process. The snapshot contains memory data that is from 2 different sources, namely system stats and instrumentation stats. The system memory usage stats come from the OS based on standard API available in the platform to query memory usage. The instrumentation stats are added by instrumenting specific piece of code which tracks memory allocations and deallocations made by a small sub-system within the application. The system stats of the global memory snapshot are recorded as part of ProcessStats and SmapsPacket fields in trace packet with the same timestamp.
Defined in memory_graph.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | Process ID of the process |
allocator_dumps | MemoryNode[] | |
memory_edges | MemoryEdge[] |
MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode
A single node in the memory graph.
Defined in memory_graph.proto
Fields:
Field | Type | Description |
---|---|---|
id | uint64 | Unique ID of the node across all processes involved in the global memory dump. The ID is only unique within this particular global dump identified by GlobalMemoryDumpPacket.global_dump_id. |
absolute_name | string | Absolute name is a unique name for the memory node within the process with ProcessMemoryDump.pid. The name can contain multiple parts separated by '/', which traces the edges of the node from the root node. Eg: "partition_allocator/array_buffers/buffer1" refers to the child node "buffer1" in a graph structure of: root -> partition_allocator -> array_buffers -> buffer1. |
weak | bool | A weak node means that the instrumentation that added the current node is unsure about the existence of the actual memory. Unless a "strong" (non-weak is default) node that has an edge to the current node exists in the current global dump, the current node will be discarded. |
size_bytes | uint64 | Size of the node in bytes, used to compute the effective size of the nodes without double counting. |
entries | MemoryNodeEntry[] |
MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry
Entries in the memory node that contain statistics and additional
debuggable information about the memory. The size of the node is
tracked separately in the size_bytes
field.
Defined in memory_graph.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
units | Units | |
value_uint64 | uint64 | Contains either one of uint64 or string value. |
value_string | string |
MemoryTrackerSnapshot.ProcessSnapshot.MemoryNode.MemoryNodeEntry.Units
Defined in memory_graph.proto
Enum values:
Name | Value | Description |
---|---|---|
UNSPECIFIED | 0 | |
BYTES | 1 | |
COUNT | 2 |
MemoryTrackerSnapshot.ProcessSnapshot.MemoryEdge
A directed edge that connects any 2 nodes in the graph above. These are
in addition to the inherent edges added due to the tree structure of the
node's absolute names.
Node with id source_id
owns the node with id target_id
, and has the
effect of attributing the memory usage of target to source. importance
is optional and relevant only for the cases of co-ownership, where it
acts as a z-index: the owner with the highest importance will be
attributed target's memory.
Defined in memory_graph.proto
Fields:
Field | Type | Description |
---|---|---|
source_id | uint64 | |
target_id | uint64 | |
importance | uint32 | |
overridable | bool |
FrameTimelineEvent
Generated by SurfaceFlinger's FrameTimeline (go/adaptive-scheduling-fr). Used in comparing the expected timeline of a frame to the actual timeline. Key terms:
- DisplayFrame - represents SurfaceFlinger's work on a frame(composited)
- SurfaceFrame - represents App's work on its frame
- Timeline = start to end of a component's(app/SF) work on a frame. SurfaceFlinger composites frames from many apps together, so One DisplayFrame can map to N SurfaceFrame(s) This relationship can be reconstructed by using DisplayFrame.token = SurfaceFrame.display_frame_token
Defined in frame_timeline_event.proto
Fields:
Field | Type | Description |
---|---|---|
expected_display_frame_start | ExpectedDisplayFrameStart | |
actual_display_frame_start | ActualDisplayFrameStart | |
expected_surface_frame_start | ExpectedSurfaceFrameStart | |
actual_surface_frame_start | ActualSurfaceFrameStart | |
frame_end | FrameEnd |
FrameTimelineEvent.ExpectedDisplayFrameStart
Indicates the start of expected timeline slice for DisplayFrames.
Defined in frame_timeline_event.proto
Fields:
Field | Type | Description |
---|---|---|
cookie | int64 | Cookie used to correlate between the start and end messages of the same frame. Since all values except the ts are same for start and end, cookie helps in preventing redundant data transmission. The same cookie is used only by start and end messages of a single frame and is otherwise unique. |
token | int64 | Token received by SurfaceFlinger for its work this.token = SurfaceFrame.display_frame_token |
pid | int32 | Pid of SurfaceFlinger. Used in creating the timeline tracks (and slices) inside the SurfaceFlinger process group. |
FrameTimelineEvent.ActualDisplayFrameStart
Indicates the start of actual timeline slice for DisplayFrames. Also includes the jank information.
Defined in frame_timeline_event.proto
Fields:
Field | Type | Description |
---|---|---|
cookie | int64 | Cookie used to correlate between the start and end messages of the same frame. Since all values except the ts are same for start and end, cookie helps in preventing redundant data transmission. The same cookie is used only by start and end messages of a single frame and is otherwise unique. |
token | int64 | Token received by SurfaceFlinger for its work this.token = SurfaceFrame.display_frame_token |
pid | int32 | Pid of SurfaceFlinger. Used in creating the timeline tracks (and slices) inside the SurfaceFlinger process group. |
present_type | PresentType | |
on_time_finish | bool | |
gpu_composition | bool | |
jank_type | int32 | A bitmask of JankType. More than one reason can be attributed to a janky frame. |
prediction_type | PredictionType | |
jank_severity_type | JankSeverityType |
FrameTimelineEvent.PresentType
Specifies how a frame was presented on screen w.r.t. timing. Can be different for SurfaceFrame and DisplayFrame.
Defined in frame_timeline_event.proto
Enum values:
Name | Value | Description |
---|---|---|
PRESENT_UNSPECIFIED | 0 | |
PRESENT_ON_TIME | 1 | |
PRESENT_LATE | 2 | |
PRESENT_EARLY | 3 | |
PRESENT_DROPPED | 4 | |
PRESENT_UNKNOWN | 5 |
FrameTimelineEvent.PredictionType
Specifies if the predictions for the frame are still valid, expired or unknown.
Defined in frame_timeline_event.proto
Enum values:
Name | Value | Description |
---|---|---|
PREDICTION_UNSPECIFIED | 0 | |
PREDICTION_VALID | 1 | |
PREDICTION_EXPIRED | 2 | |
PREDICTION_UNKNOWN | 3 |
FrameTimelineEvent.JankSeverityType
Specifies the severity of a jank.
Defined in frame_timeline_event.proto
Enum values:
Name | Value | Description |
---|---|---|
SEVERITY_UNKNOWN | 0 | |
SEVERITY_NONE | 1 | |
SEVERITY_PARTIAL | 2 | |
SEVERITY_FULL | 3 |
FrameTimelineEvent.ExpectedSurfaceFrameStart
Indicates the start of expected timeline slice for SurfaceFrames.
Defined in frame_timeline_event.proto
Fields:
Field | Type | Description |
---|---|---|
cookie | int64 | Cookie used to correlate between the start and end messages of the same frame. Since all values except the ts are same for start and end, cookie helps in preventing redundant data transmission. The same cookie is used only by start and end messages of a single frame and is otherwise unique. |
token | int64 | Token received by the app for its work. Can be shared between multiple layers of the same app (example: pip mode). |
display_frame_token | int64 | The corresponding DisplayFrame token is required to link the App's work with SurfaceFlinger's work. Many SurfaceFrames can be mapped to a single DisplayFrame. this.display_frame_token = DisplayFrame.token |
pid | int32 | Pid of the app. Used in creating the timeline tracks (and slices) inside the respective process track group. |
layer_name | string |
FrameTimelineEvent.ActualSurfaceFrameStart
Indicates the start of actual timeline slice for SurfaceFrames. Also includes the jank information.
Defined in frame_timeline_event.proto
Fields:
Field | Type | Description |
---|---|---|
cookie | int64 | Cookie used to correlate between the start and end messages of the same frame. Since all values except the ts are same for start and end, cookie helps in preventing redundant data transmission. The same cookie is used only by start and end messages of a single frame and is otherwise unique. |
token | int64 | Token received by the app for its work. Can be shared between multiple layers of the same app (example: pip mode). |
display_frame_token | int64 | The corresponding DisplayFrame token is required to link the App's work with SurfaceFlinger's work. Many SurfaceFrames can be mapped to a single DisplayFrame. this.display_frame_token = DisplayFrame.token |
pid | int32 | Pid of the app. Used in creating the timeline tracks (and slices) inside the respective process track group. |
layer_name | string | |
present_type | PresentType | |
on_time_finish | bool | |
gpu_composition | bool | |
jank_type | int32 | A bitmask of JankType. More than one reason can be attributed to a janky frame. |
prediction_type | PredictionType | |
is_buffer | bool | |
jank_severity_type | JankSeverityType |
FrameTimelineEvent.FrameEnd
FrameEnd just sends the cookie to indicate that the corresponding <display/surface>frame slice's end.
Defined in frame_timeline_event.proto
Fields:
Field | Type | Description |
---|---|---|
cookie | int64 | FrameEnd just sends the cookie to indicate that the corresponding <display/surface>frame slice's end. |
AndroidEnergyEstimationBreakdown
Energy data retrieve using the ODPM(On Device Power Monitor) API. This proto represents the aidl class: android.hardware.power.stats.EnergyConsumerResult.
Defined in android_energy_estimation_breakdown.proto
Fields:
Field | Type | Description |
---|---|---|
energy_consumer_descriptor | AndroidEnergyConsumerDescriptor | The first trace packet of each session should include a energy consumer descriptor. |
energy_consumer_id | int32 | ID of the AndroidEnergyConsumer associated with this result. Matches the energy_consumer_id in the AndroidEnergyConsumerDescriptor that should be sent at the beginning of a trace. |
energy_uws | int64 | Total accumulated energy since boot in microwatt-seconds (uWs) |
per_uid_breakdown | EnergyUidBreakdown[] | Optional attributed energy per Android ID / Linux UID for this EnergyConsumer. Sum total of attributed energy must be less than or equal to total accumulated energy. |
AndroidEnergyConsumerDescriptor
Defined in android_energy_consumer_descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
energy_consumers | AndroidEnergyConsumer[] |
AndroidEnergyConsumer
Energy consumer based on aidl class: android.hardware.power.stats.EnergyConsumer.
Defined in android_energy_consumer_descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
energy_consumer_id | int32 | Unique ID of this energy consumer. Matches the ID in a AndroidEnergyEstimationBreakdown. |
ordinal | int32 | For a group of energy consumers of the same logical type, sorting by ordinal gives their physical order. Ordinals must be consecutive integers starting from 0. |
type | string | Type of this energy consumer. |
name | string | Unique name of this energy consumer. Vendor/device specific. Opaque to framework. |
AndroidEnergyEstimationBreakdown.EnergyUidBreakdown
Defined in android_energy_estimation_breakdown.proto
Fields:
Field | Type | Description |
---|---|---|
uid | int32 | Android ID/Linux UID, the accumulated energy is attributed to. |
energy_uws | int64 | Accumulated energy since boot in microwatt-seconds (uWs). |
UiState
Common state for UIs visualizing Perfetto traces. This message can be appended as a TracePacket by UIs to save the visible state (e.g. scroll position/zoom state) for future opening of the trace. Design doc: go/trace-ui-state.
Defined in ui_state.proto
Fields:
Field | Type | Description |
---|---|---|
timeline_start_ts | int64 | The start and end bounds of the viewport of the UI in nanoseconds. This is the absolute time associated to slices and other events in trace processor tables (i.e. the ts column of most tables) |
timeline_end_ts | int64 | |
highlight_process | HighlightProcess |
UiState.HighlightProcess
Indicates that the given process should be highlighted by the UI.
Defined in ui_state.proto
Fields:
Field | Type | Description |
---|---|---|
pid | uint32 | The pid of the process to highlight. This is useful for UIs to focus on tracks of a particular process in the trace. If more than one process in a trace has the same pid, it is UI implementation specific how the process to be focused will be chosen. |
cmdline | string | The command line of the process to highlight; for most Android apps, this is the package name of the app. This is useful for UIs to focus on a particular app in the trace. If more than one process hasthe same cmdline, it is UI implementation specific how the process to be focused will be chosen. |
AndroidCameraFrameEvent
A profiling event corresponding to a single camera frame. This message collects important details and timestamps involved in producing a single camera frame.
Defined in camera_event.proto
Fields:
Field | Type | Description |
---|---|---|
session_id | uint64 | Identifier for the CameraCaptureSession this frame originates from. See: https://developer.android.com/reference/android/hardware/camera2/CameraCaptureSession |
camera_id | uint32 | Identifier for the camera sensor that is the source of this frame. This may be either a physical or logical camera (up to vendor interpretation). |
frame_number | int64 | The frame number identifying this frame on this camera. |
request_id | int64 | Identifier for the CaptureRequest. See: https://developer.android.com/reference/android/hardware/camera2/CaptureRequest If multiple cameras are streaming simultaneously, the request_id may be used to identify which frames were captured in service of the same request. |
request_received_ns | int64 | The CLOCK_BOOTTIME timestamp at which the camera framework request is received by the camera HAL pipeline. Note that this request may wait for some time before processing actually begins. See also request_processing_started_ns. |
request_processing_started_ns | int64 | The CLOCK_BOOTTIME timestamp at which the framework request is accepted for processing by the camera HAL pipeline. This is the time at which the pipeline actually begins to work on the request. |
start_of_exposure_ns | int64 | The CLOCK_BOOTTIME timestamp at which the sensor begins its exposure. |
start_of_frame_ns | int64 | The CLOCK_BOOTTIME timestamp corresponding to the sensor start of frame event. |
responses_all_sent_ns | int64 | The CLOCK_BOOTTIME timestamp at which the camera HAL has sent all responses for the frame. |
capture_result_status | CaptureResultStatus | |
skipped_sensor_frames | int32 | The number of sensor frames that were skipped between this frame and the previous frame. Under normal operation, this should be zero. Any number greater than zero indicates dropped sensor frames. |
capture_intent | int32 | The value of CONTROL_CAPTURE_INTENT. See: https://developer.android.com/reference/android/hardware/camera2/CaptureRequest#CONTROL_CAPTURE_INTENT |
num_streams | int32 | The number of streams in the capture request. |
node_processing_details | CameraNodeProcessingDetails[] | |
vendor_data_version | int32 | These fields capture vendor-specific additions to this proto message. In practice vendor_data typically contains a serialized message of the vendor's design, and vendor_data_version is incremented each time there is a backwards incompatible change made to the message. |
vendor_data | bytes |
AndroidCameraFrameEvent.CaptureResultStatus
The error status, if any, reported to the camera framework. Any status other than STATUS_OK indicates a dropped frame. Next Enum: 6
Defined in camera_event.proto
Enum values:
Name | Value | Description |
---|---|---|
STATUS_UNSPECIFIED | 0 | |
STATUS_OK | 1 | |
STATUS_EARLY_METADATA_ERROR | 2 | Early metadata was returned to the camera framework with an error. |
STATUS_FINAL_METADATA_ERROR | 3 | Final metadata was returned to the camera framework with an error. |
STATUS_BUFFER_ERROR | 4 | One or more buffers were returned to the camera framework with an error. |
STATUS_FLUSH_ERROR | 5 | The frame was dropped as a result of a flush operation. |
AndroidCameraFrameEvent.CameraNodeProcessingDetails
A profiling event corresponding to a single node processing within the camera pipeline. Intuitively this corresponds to a single stage of processing to produce a camera frame.
Defined in camera_event.proto
Fields:
Field | Type | Description |
---|---|---|
node_id | int64 | |
start_processing_ns | int64 | The timestamp at which node processing begins to run. |
end_processing_ns | int64 | The timestamp at which node processing finishes running. |
scheduling_latency_ns | int64 | The delay between inputs becoming ready and the node actually beginning to run. |
AndroidCameraSessionStats
A profiling event that may be emitted periodically (i.e., at a slower rate
than AndroidCameraFrameEvent
s) to record fixed and aggregated camera
session-specific values.
Defined in camera_event.proto
Fields:
Field | Type | Description |
---|---|---|
session_id | uint64 | Identifier for the CameraCaptureSession this frame originates from. See: https://developer.android.com/reference/android/hardware/camera2/CameraCaptureSession |
graph | CameraGraph |
AndroidCameraSessionStats.CameraGraph
Although vendor implementations may vary, camera pipeline processing is typically arranged into a directed graph-like structure. This message is used to record that graph.
Defined in camera_event.proto
Fields:
Field | Type | Description |
---|---|---|
nodes | CameraNode[] | |
edges | CameraEdge[] |
AndroidCameraSessionStats.CameraGraph.CameraNode
Defined in camera_event.proto
Fields:
Field | Type | Description |
---|---|---|
node_id | int64 | |
input_ids | int64[] | A list of inputs consumed by this node. |
output_ids | int64[] | A list of outputs produced by this node. |
vendor_data_version | int32 | These fields capture vendor-specific additions to this proto message. In practice vendor_data typically contains a serialized message of the vendor's design, and vendor_data_version is incremented each time there is a backwards incompatible change made to the message. |
vendor_data | bytes |
AndroidCameraSessionStats.CameraGraph.CameraEdge
An adjacency list describing connections between CameraNodes, mapping nodes and their outputs to other nodes that consume them as inputs.
Defined in camera_event.proto
Fields:
Field | Type | Description |
---|---|---|
output_node_id | int64 | The pair of IDs identifying the node and output connected by this edge. |
output_id | int64 | |
input_node_id | int64 | The pair of IDs identifying the node and input connected by this edge. |
input_id | int64 | |
vendor_data_version | int32 | These fields capture vendor-specific additions to this proto message. In practice vendor_data typically contains a serialized message of the vendor's design, and vendor_data_version is incremented each time there is a backwards incompatible change made to the message. |
vendor_data | bytes |
TranslationTable
Translation rules for the trace processor. See the comments for each rule type for specific meaning.
Defined in translation_table.proto
Fields:
Field | Type | Description |
---|---|---|
chrome_histogram | ChromeHistorgramTranslationTable | |
chrome_user_event | ChromeUserEventTranslationTable | |
chrome_performance_mark | ChromePerformanceMarkTranslationTable | |
slice_name | SliceNameTranslationTable | |
process_track_name | ProcessTrackNameTranslationTable | |
chrome_study | ChromeStudyTranslationTable |
ChromeHistorgramTranslationTable
Chrome histogram sample hash -> name translation rules.
Defined in translation_table.proto
Fields:
Field | Type | Description |
---|---|---|
hash_to_name | string |
ChromeUserEventTranslationTable
Chrome user event action hash -> name translation rules.
Defined in translation_table.proto
Fields:
Field | Type | Description |
---|---|---|
action_hash_to_name | string |
ChromePerformanceMarkTranslationTable
Chrome performance mark translation rules.
Defined in translation_table.proto
Fields:
Field | Type | Description |
---|---|---|
site_hash_to_name | string | |
mark_hash_to_name | string |
SliceNameTranslationTable
Raw -> deobfuscated slice name translation rules.
Defined in translation_table.proto
Fields:
Field | Type | Description |
---|---|---|
raw_to_deobfuscated_name | string |
ProcessTrackNameTranslationTable
Raw -> deobfuscated process track name translation rules.
Defined in translation_table.proto
Fields:
Field | Type | Description |
---|---|---|
raw_to_deobfuscated_name | string |
ChromeStudyTranslationTable
Chrome study hash -> name translation rules.
Defined in translation_table.proto
Fields:
Field | Type | Description |
---|---|---|
hash_to_name | string |
AndroidGameInterventionList
Defined in android_game_intervention_list.proto
Fields:
Field | Type | Description |
---|---|---|
game_packages | GamePackageInfo[] | |
parse_error | bool | True when at least one error occurred when parsing game_mode_intervention.list |
read_error | bool | Failed to open / read game_mode_intervention.list |
AndroidGameInterventionList.GamePackageInfo
Defined in android_game_intervention_list.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
uid | uint64 | |
current_mode | uint32 | |
game_mode_info | GameModeInfo[] |
AndroidGameInterventionList.GameModeInfo
Defined in android_game_intervention_list.proto
Fields:
Field | Type | Description |
---|---|---|
mode | uint32 | |
use_angle | bool | |
resolution_downscale | float | |
fps | float |
StatsdAtom
One or more statsd atoms. This must continue to match: perfetto/protos/third_party/statsd/shell_data.proto So that we can efficiently add data from statsd directly to the trace.
Defined in statsd_atom.proto
Fields:
Field | Type | Description |
---|---|---|
atom | Atom[] | Atom should be filled with an Atom proto from: https://cs.android.com/android/platform/superproject/main/+/main:frameworks/proto_logging/stats/atoms.proto?q=f:stats%2Fatoms.proto$%20message%5C%20Atom We don't reference Atom directly here since we don't want to import Atom.proto and all its transitive dependencies into Perfetto. atom and timestamp_nanos have the same cardinality |
timestamp_nanos | int64[] |
Atom
Deliberate empty message. See comment on StatsdAtom#atom below.
Defined in statsd_atom.proto
Fields:
Field | Type | Description |
---|
AndroidSystemProperty
Defined in android_system_property.proto
Fields:
Field | Type | Description |
---|---|---|
values | PropertyValue[] |
AndroidSystemProperty.PropertyValue
Defined in android_system_property.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
value | string |
EntityStateResidency
Defined in android_entity_state_residency.proto
Fields:
Field | Type | Description |
---|---|---|
power_entity_state | PowerEntityState[] | This is only emitted at the beginning of the trace. |
residency | StateResidency[] |
EntityStateResidency.PowerEntityState
Defined in android_entity_state_residency.proto
Fields:
Field | Type | Description |
---|---|---|
entity_index | int32 | Index corresponding to the entity |
state_index | int32 | Index corresponding to the state |
entity_name | string | Name of the entity. This is device-specific, determined by the PowerStats HAL, and cannot be configured by the user. An example would be "Bluetooth". |
state_name | string | Name of the state. This is device-specific, determined by the PowerStats HAL, and cannot be configured by the user. An example would be "Active". |
EntityStateResidency.StateResidency
Defined in android_entity_state_residency.proto
Fields:
Field | Type | Description |
---|---|---|
entity_index | int32 | Index corresponding to PowerEntityState.entity_index |
state_index | int32 | Index corresponding to PowerEntityState.state_index |
total_time_in_state_ms | uint64 | Time since boot that this entity has been in this state |
total_state_entry_count | uint64 | Total number of times since boot that the entity has entered this state |
last_entry_timestamp_ms | uint64 | Timestamp of the last time the entity entered this state |
ProfiledFrameSymbols
A symbol field that is emitted after the trace is written. These tables would be appended as the last packets in the trace that the profiler will use, so that the actual trace need not be rewritten to symbolize the profiles.
Defined in profile_common.proto
Fields:
Field | Type | Description |
---|---|---|
frame_iid | uint64 | Use the frame id as the interning key for the symbols. |
function_name_id | uint64[] | key to InternedString |
file_name_id | uint64[] | key to InternedString |
line_number | uint32[] |
ModuleSymbols
Symbols for addresses seen in a module.
Defined in profile_common.proto
Fields:
Field | Type | Description |
---|---|---|
path | string | Fully qualified path to the mapping. E.g. /system/lib64/libc.so. |
build_id | string | .note.gnu.build-id on Linux (not hex encoded). uuid on MacOS. Module GUID on Windows. |
address_symbols | AddressSymbols[] |
AddressSymbols
Symbols for a given address in a module.
Defined in profile_common.proto
Fields:
Field | Type | Description |
---|---|---|
address | uint64 | |
lines | Line[] | Source lines that correspond to this address. These are repeated because when inlining happens, multiple functions' frames can be at a single address. Imagine function Foo calling the std::vector |
Line
Defined in profile_common.proto
Fields:
Field | Type | Description |
---|---|---|
function_name | string | |
source_file_name | string | |
line_number | uint32 |
DeobfuscationMapping
Defined in deobfuscation.proto
Fields:
Field | Type | Description |
---|---|---|
package_name | string | |
version_code | int64 | |
obfuscated_classes | ObfuscatedClass[] |
ObfuscatedClass
Defined in deobfuscation.proto
Fields:
Field | Type | Description |
---|---|---|
obfuscated_name | string | |
deobfuscated_name | string | |
obfuscated_members | ObfuscatedMember[] | fields. |
obfuscated_methods | ObfuscatedMember[] |
ObfuscatedMember
Defined in deobfuscation.proto
Fields:
Field | Type | Description |
---|---|---|
obfuscated_name | string | This is the obfuscated field name relative to the class containing the ObfuscatedMember. |
deobfuscated_name | string | If this is fully qualified (i.e. contains a '.') this is the deobfuscated field name including its class. Otherwise, this is this the unqualified deobfuscated field name relative to the class containing this ObfuscatedMember. |
TrackDescriptor
Defines a track for TrackEvents. Slices and instant events on the same track will be nested based on their timestamps, see TrackEvent::Type.
A TrackDescriptor only needs to be emitted by one trace writer / producer and is valid for the entirety of the trace. To ensure the descriptor isn't lost when the ring buffer wraps, it should be reemitted whenever incremental state is cleared.
As a fallback, TrackEvents emitted without an explicit track association will be associated with an implicit trace-global track (uuid = 0), see also |TrackEvent::track_uuid|. It is possible but not necessary to emit a TrackDescriptor for this implicit track.
Defined in track_descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
uuid | uint64 | Unique ID that identifies this track. This ID is global to the whole trace. Producers should ensure that it is unlikely to clash with IDs emitted by other producers. A value of 0 denotes the implicit trace-global track. For example, legacy TRACE_EVENT macros may use a hash involving the async event id + id_scope, pid, and/or tid to compute this ID. |
parent_uuid | uint64 | A parent track reference can be used to describe relationships between tracks. For example, to define an asynchronous track which is scoped to a specific process, specify the uuid for that process's process track here. Similarly, to associate a COUNTER_THREAD_TIME_NS counter track with a thread, specify the uuid for that thread's thread track here. |
name | string | |
static_name | string | This field is only set by the SDK when perfetto::StaticString is provided. |
atrace_name | string | Equivalent to name, used just to mark that the data is coming from android.os.Trace. |
process | ProcessDescriptor | Associate the track with a process, making it the process-global track. There should only be one such track per process (usually for instant events; trace processor uses this fact to detect pid reuse). If you need more (e.g. for asynchronous events), create child tracks using parent_uuid. Trace processor will merge events on a process track with slice-type events from other sources (e.g. ftrace) for the same process into a single timeline view. |
chrome_process | ChromeProcessDescriptor | |
thread | ThreadDescriptor | Associate the track with a thread, indicating that the track's events describe synchronous code execution on the thread. There should only be one such track per thread (trace processor uses this fact to detect tid reuse). Trace processor will merge events on a thread track with slice-type events from other sources (e.g. ftrace) for the same thread into a single timeline view. |
chrome_thread | ChromeThreadDescriptor | |
counter | CounterDescriptor | Descriptor for a counter track. If set, the track will only support TYPE_COUNTER TrackEvents (and values provided via TrackEvent's extra_counter_values ). |
disallow_merging_with_system_tracks | bool | If true, forces Trace Processor to use separate tracks for track events and system events for the same thread. Track events timestamps in Chrome have microsecond resolution, while system events use nanoseconds. It results in broken event nesting when track events and system events share a track. |
child_ordering | ChildTracksOrdering | |
sibling_order_rank | int32 | An opaque value which allows specifying how two sibling tracks should be ordered relative to each other: tracks with lower ranks will appear before tracks with higher ranks. An unspecified rank will be treated as a rank of 0. |
ProcessDescriptor
Describes a process's attributes. Emitted as part of a TrackDescriptor, usually by the process's main thread.
Defined in process_descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | |
cmdline | string[] | |
process_name | string | |
process_priority | int32 | |
start_timestamp_ns | int64 | Process start time in nanoseconds. The timestamp refers to the trace clock by default. Other clock IDs provided in TracePacket are not supported. |
chrome_process_type | ChromeProcessType | |
legacy_sort_index | int32 | To support old UI. New UI should determine default sorting by process_type. |
process_labels | string[] | Labels can be used to further describe properties of the work performed by the process. For example, these can be used by Chrome renderer process to provide titles of frames being rendered. |
ProcessDescriptor.ChromeProcessType
See chromium's content::ProcessType.
Defined in process_descriptor.proto
Enum values:
Name | Value | Description |
---|---|---|
PROCESS_UNSPECIFIED | 0 | |
PROCESS_BROWSER | 1 | |
PROCESS_RENDERER | 2 | |
PROCESS_UTILITY | 3 | |
PROCESS_ZYGOTE | 4 | |
PROCESS_SANDBOX_HELPER | 5 | |
PROCESS_GPU | 6 | |
PROCESS_PPAPI_PLUGIN | 7 | |
PROCESS_PPAPI_BROKER | 8 |
ChromeProcessDescriptor
Describes the attributes for a Chrome process. Must be paired with a ProcessDescriptor in the same TrackDescriptor.
Defined in chrome_process_descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
process_type | ProcessType | |
process_priority | int32 | |
legacy_sort_index | int32 | To support old UI. New UI should determine default sorting by process_type. |
host_app_package_name | string | Name of the hosting app for WebView. Used to match renderer processes to their hosting apps. |
crash_trace_id | uint64 | The ID to link crashes to trace. Notes: * The ID is per process. So, each trace may contain many IDs, and you need to look for the ID from crashed process to find the crash report. * Having a "chrome-trace-id" in crash doesn't necessarily mean we can get an uploaded trace, since uploads could have failed. * On the other hand, if there was a crash during the session and trace was uploaded, it is very likely to find a crash report with the trace ID. * This is not crash ID or trace ID. It is just a random 64-bit number recorded in both traces and crashes. It is possible to have collisions, though very rare. |
ChromeProcessDescriptor.ProcessType
See chromium's content::ProcessType.
Defined in chrome_process_descriptor.proto
Enum values:
Name | Value | Description |
---|---|---|
PROCESS_UNSPECIFIED | 0 | |
PROCESS_BROWSER | 1 | |
PROCESS_RENDERER | 2 | |
PROCESS_UTILITY | 3 | |
PROCESS_ZYGOTE | 4 | |
PROCESS_SANDBOX_HELPER | 5 | |
PROCESS_GPU | 6 | |
PROCESS_PPAPI_PLUGIN | 7 | |
PROCESS_PPAPI_BROKER | 8 | |
PROCESS_SERVICE_NETWORK | 9 | |
PROCESS_SERVICE_TRACING | 10 | |
PROCESS_SERVICE_STORAGE | 11 | |
PROCESS_SERVICE_AUDIO | 12 | |
PROCESS_SERVICE_DATA_DECODER | 13 | |
PROCESS_SERVICE_UTIL_WIN | 14 | |
PROCESS_SERVICE_PROXY_RESOLVER | 15 | |
PROCESS_SERVICE_CDM | 16 | |
PROCESS_SERVICE_VIDEO_CAPTURE | 17 | |
PROCESS_SERVICE_UNZIPPER | 18 | |
PROCESS_SERVICE_MIRRORING | 19 | |
PROCESS_SERVICE_FILEPATCHER | 20 | |
PROCESS_SERVICE_TTS | 21 | |
PROCESS_SERVICE_PRINTING | 22 | |
PROCESS_SERVICE_QUARANTINE | 23 | |
PROCESS_SERVICE_CROS_LOCALSEARCH | 24 | |
PROCESS_SERVICE_CROS_ASSISTANT_AUDIO_DECODER | 25 | |
PROCESS_SERVICE_FILEUTIL | 26 | |
PROCESS_SERVICE_PRINTCOMPOSITOR | 27 | |
PROCESS_SERVICE_PAINTPREVIEW | 28 | |
PROCESS_SERVICE_SPEECHRECOGNITION | 29 | |
PROCESS_SERVICE_XRDEVICE | 30 | |
PROCESS_SERVICE_READICON | 31 | |
PROCESS_SERVICE_LANGUAGEDETECTION | 32 | |
PROCESS_SERVICE_SHARING | 33 | |
PROCESS_SERVICE_MEDIAPARSER | 34 | |
PROCESS_SERVICE_QRCODEGENERATOR | 35 | |
PROCESS_SERVICE_PROFILEIMPORT | 36 | |
PROCESS_SERVICE_IME | 37 | |
PROCESS_SERVICE_RECORDING | 38 | |
PROCESS_SERVICE_SHAPEDETECTION | 39 | |
PROCESS_RENDERER_EXTENSION | 40 | |
PROCESS_SERVICE_MEDIA_FOUNDATION | 41 |
ThreadDescriptor
Describes a thread's attributes. Emitted as part of a TrackDescriptor, usually by the thread's trace writer.
Defined in thread_descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | |
tid | int32 | |
thread_name | string | |
chrome_thread_type | ChromeThreadType | |
reference_timestamp_us | int64 | Deprecated. Use ClockSnapshot in combination with TracePacket's timestamp and timestamp_clock_id fields instead. |
reference_thread_time_us | int64 | Absolute reference values. Clock values in subsequent TrackEvents can be encoded accumulatively and relative to these. This reduces their var-int encoding size. |
reference_thread_instruction_count | int64 | |
legacy_sort_index | int32 | To support old UI. New UI should determine default sorting by thread_type. |
ThreadDescriptor.ChromeThreadType
Defined in thread_descriptor.proto
Enum values:
Name | Value | Description |
---|---|---|
CHROME_THREAD_UNSPECIFIED | 0 | |
CHROME_THREAD_MAIN | 1 | |
CHROME_THREAD_IO | 2 | |
CHROME_THREAD_POOL_BG_WORKER | 3 | Scheduler: |
CHROME_THREAD_POOL_FG_WORKER | 4 | |
CHROME_THREAD_POOL_FB_BLOCKING | 5 | |
CHROME_THREAD_POOL_BG_BLOCKING | 6 | |
CHROME_THREAD_POOL_SERVICE | 7 | |
CHROME_THREAD_COMPOSITOR | 8 | Compositor: |
CHROME_THREAD_VIZ_COMPOSITOR | 9 | |
CHROME_THREAD_COMPOSITOR_WORKER | 10 | |
CHROME_THREAD_SERVICE_WORKER | 11 | Renderer: |
CHROME_THREAD_MEMORY_INFRA | 50 | Tracing related threads: |
CHROME_THREAD_SAMPLING_PROFILER | 51 |
ChromeThreadDescriptor
Describes a Chrome thread's attributes. Emitted as part of a TrackDescriptor, usually by the thread's trace writer. Must be paired with a ThreadDescriptor in the same TrackDescriptor.
Defined in chrome_thread_descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
thread_type | ThreadType | |
legacy_sort_index | int32 | To support old UI. New UI should determine default sorting by thread_type. |
ChromeThreadDescriptor.ThreadType
Defined in chrome_thread_descriptor.proto
Enum values:
Name | Value | Description |
---|---|---|
THREAD_UNSPECIFIED | 0 | |
THREAD_MAIN | 1 | |
THREAD_IO | 2 | |
THREAD_POOL_BG_WORKER | 3 | |
THREAD_POOL_FG_WORKER | 4 | |
THREAD_POOL_FG_BLOCKING | 5 | |
THREAD_POOL_BG_BLOCKING | 6 | |
THREAD_POOL_SERVICE | 7 | |
THREAD_COMPOSITOR | 8 | |
THREAD_VIZ_COMPOSITOR | 9 | |
THREAD_COMPOSITOR_WORKER | 10 | |
THREAD_SERVICE_WORKER | 11 | |
THREAD_NETWORK_SERVICE | 12 | |
THREAD_CHILD_IO | 13 | |
THREAD_BROWSER_IO | 14 | |
THREAD_BROWSER_MAIN | 15 | |
THREAD_RENDERER_MAIN | 16 | |
THREAD_UTILITY_MAIN | 17 | |
THREAD_GPU_MAIN | 18 | |
THREAD_CACHE_BLOCKFILE | 19 | |
THREAD_MEDIA | 20 | |
THREAD_AUDIO_OUTPUTDEVICE | 21 | |
THREAD_AUDIO_INPUTDEVICE | 22 | |
THREAD_GPU_MEMORY | 23 | |
THREAD_GPU_VSYNC | 24 | |
THREAD_DXA_VIDEODECODER | 25 | |
THREAD_BROWSER_WATCHDOG | 26 | |
THREAD_WEBRTC_NETWORK | 27 | |
THREAD_WINDOW_OWNER | 28 | |
THREAD_WEBRTC_SIGNALING | 29 | |
THREAD_WEBRTC_WORKER | 30 | |
THREAD_PPAPI_MAIN | 31 | |
THREAD_GPU_WATCHDOG | 32 | |
THREAD_SWAPPER | 33 | |
THREAD_GAMEPAD_POLLING | 34 | |
THREAD_WEBCRYPTO | 35 | |
THREAD_DATABASE | 36 | |
THREAD_PROXYRESOLVER | 37 | |
THREAD_DEVTOOLSADB | 38 | |
THREAD_NETWORKCONFIGWATCHER | 39 | |
THREAD_WASAPI_RENDER | 40 | |
THREAD_LOADER_LOCK_SAMPLER | 41 | |
THREAD_MEMORY_INFRA | 50 | |
THREAD_SAMPLING_PROFILER | 51 | |
THREAD_COMPOSITOR_GPU | 52 |
CounterDescriptor
Defines properties of a counter track, e.g. for built-in counters (thread time, instruction count, ..) or user-specified counters (e.g. memory usage of a specific app component).
Counter tracks only support TYPE_COUNTER track events, which specify new
values for the counter. For counters that require per-slice values, counter
values can instead be provided in a more efficient encoding via TrackEvent's
extra_counter_track_uuids
and extra_counter_values
fields. However,
slice-type events cannot be emitted onto a counter track.
Values for counters that are only emitted on a single packet sequence can
optionally be delta-encoded, see is_incremental
.
Defined in counter_descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
type | BuiltinCounterType | For built-in counters (e.g. thread time). Custom user-specified counters (e.g. those emitted by TRACE_COUNTER macros of the client library) shouldn't set this, and instead provide a counter name via TrackDescriptor. |
categories | string[] | Names of categories of the counter (usually for user-specified counters). In the client library, categories are a way to turn groups of individual counters (or events) on or off. |
unit | Unit | Type of the counter's values. Built-in counters imply a value for this field. |
unit_name | string | In order to use a unit not defined as a part of Unit , a free-form unit name can be used instead. |
unit_multiplier | int64 | Multiplication factor of this counter's values, e.g. to supply COUNTER_THREAD_TIME_NS timestamps in microseconds instead. |
is_incremental | bool | Whether values for this counter are provided as delta values. Only supported for counters that are emitted on a single packet-sequence (e.g. thread time). Counter values in subsequent packets on the current packet sequence will be interpreted as delta values from the sequence's most recent value for the counter. When incremental state is cleared, the counter value is considered to be reset to 0. Thus, the first value after incremental state is cleared is effectively an absolute value. |
CounterDescriptor.BuiltinCounterType
Built-in counters, usually with special meaning in the client library, trace processor, legacy JSON format, or UI. Trace processor will infer a track name from the enum value if none is provided in TrackDescriptor.
Defined in counter_descriptor.proto
Enum values:
Name | Value | Description |
---|---|---|
COUNTER_UNSPECIFIED | 0 | |
COUNTER_THREAD_TIME_NS | 1 | implies UNIT_TIME_NS. |
COUNTER_THREAD_INSTRUCTION_COUNT | 2 | implies UNIT_COUNT. |
CounterDescriptor.Unit
Type of the values for the counters - to supply lower granularity units,
see also unit_multiplier
.
Defined in counter_descriptor.proto
Enum values:
Name | Value | Description |
---|---|---|
UNIT_UNSPECIFIED | 0 | |
UNIT_TIME_NS | 1 | |
UNIT_COUNT | 2 | |
UNIT_SIZE_BYTES | 3 |
TrackDescriptor.ChildTracksOrdering
Specifies how the UI should display child tracks of this track (i.e. tracks
where parent_uuid
is specified to this track uuid
). Note that this
value is simply a hint to the UI: the UI is not guarnateed to respect
this if it has a good reason not to do so.
Defined in track_descriptor.proto
Enum values:
Name | Value | Description |
---|---|---|
UNKNOWN | 0 | The default ordering, with no bearing on how the UI will visualise the tracks. |
LEXICOGRAPHIC | 1 | Order tracks by name or static_name depending on which one has been specified. |
CHRONOLOGICAL | 2 | Order tracks by the first ts event in a track. |
EXPLICIT | 3 | Order tracks by sibling_order_rank of child tracks. Child tracks with the lower values will be shown before tracks with higher values. Tracks with no value will be treated as having 0 rank. |
FtraceEventBundle
The result of tracing one or more ftrace data pages from a single per-cpu kernel ring buffer. If collating multiple pages' worth of events, all of them come from contiguous pages, with no kernel data loss in between.
Defined in ftrace_event_bundle.proto
Fields:
Field | Type | Description |
---|---|---|
cpu | uint32 | |
event | FtraceEvent[] | |
lost_events | bool | Set to true if there was data loss between the last time we've read from the corresponding per-cpu kernel buffer, and the earliest event recorded in this bundle. |
compact_sched | CompactSched | |
ftrace_clock | FtraceClock | traced_probes always sets the ftrace_clock to "boot". That is not available in older kernels (v3.x). In that case we fallback on "global" or "local". When we do that, we report the fallback clock in each bundle so we can do proper clock syncing at parsing time in TraceProcessor. We cannot use the TracePacket timestamp_clock_id because: (1) there is no per-packet timestamp for ftrace bundles; (2) "global" does not match CLOCK_MONOTONIC. Having a dedicated and explicit flag allows us to correct further misakes in future by looking at the kernel version. This field has been introduced in perfetto v19 / Android T (13). This field is omitted when the ftrace clock is just "boot", as that is the default assumption (and for consistency with the past). |
ftrace_timestamp | int64 | The timestamp according to the ftrace clock, taken at the same instant as boot_timestamp . This is used to sync ftrace events when a non-boot clock is used as the ftrace clock. We don't use the ClockSnapshot packet because the ftrace global/local clocks don't match any of the clock_gettime domains and can be only read by traced_probes.Only set when ftrace_clock != FTRACE_CLOCK_UNSPECIFIED.Implementation note: Populated by reading the 'now ts:' field in tracefs/per_cpu/cpuX/stat. |
boot_timestamp | int64 | The timestamp according to CLOCK_BOOTTIME, taken at the same instant as ftrace_timestamp . See documentation of ftrace_timestamp for more info.Only set when ftrace_clock != FTRACE_CLOCK_UNSPECIFIED. |
error | FtraceError[] | |
last_read_event_timestamp | uint64 | Superseded by previous_bundle_end_timestamp in perfetto v47+. The primary difference is that this field tracked the last timestamp read from the per-cpu buffer, while the newer field tracks events that get serialised into the trace.Added in: perfetto v44. |
previous_bundle_end_timestamp | uint64 | The timestamp (using ftrace clock) of the last event written into this data source on this cpu. In other words: the last event in the previous bundle. Lets the trace processing find an initial timestamp after which ftrace data is known to be valid across all cpus. Of particular importance when the perfetto trace buffer is a ring buffer as well, as the overwriting of oldest bundles can skew the first valid timestamp per cpu significantly. Added in: perfetto v47. |
FtraceEvent
Defined in ftrace_event.proto
Fields:
PrintFtraceEvent
Defined in ftrace.proto
Fields:
Field | Type | Description |
---|---|---|
ip | uint64 | |
buf | string |
SchedSwitchFtraceEvent
Defined in sched.proto
Fields:
Field | Type | Description |
---|---|---|
prev_comm | string | |
prev_pid | int32 | |
prev_prio | int32 | |
prev_state | int64 | |
next_comm | string | |
next_pid | int32 | |
next_prio | int32 |
CpuFrequencyFtraceEvent
Defined in power.proto
Fields:
Field | Type | Description |
---|---|---|
state | uint32 | |
cpu_id | uint32 |
CpuFrequencyLimitsFtraceEvent
Defined in power.proto
Fields:
Field | Type | Description |
---|---|---|
min_freq | uint32 | |
max_freq | uint32 | |
cpu_id | uint32 |
CpuIdleFtraceEvent
Defined in power.proto
Fields:
Field | Type | Description |
---|---|---|
state | uint32 | |
cpu_id | uint32 |
ClockEnableFtraceEvent
Defined in power.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
state | uint64 | |
cpu_id | uint64 |
ClockDisableFtraceEvent
Defined in power.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
state | uint64 | |
cpu_id | uint64 |
ClockSetRateFtraceEvent
Defined in power.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
state | uint64 | |
cpu_id | uint64 |
SchedWakeupFtraceEvent
Defined in sched.proto
Fields:
Field | Type | Description |
---|---|---|
comm | string | |
pid | int32 | |
prio | int32 | |
success | int32 | |
target_cpu | int32 |
SchedBlockedReasonFtraceEvent
Defined in sched.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | |
caller | uint64 | |
io_wait | uint32 |
SchedCpuHotplugFtraceEvent
Defined in sched.proto
Fields:
Field | Type | Description |
---|---|---|
affected_cpu | int32 | |
error | int32 | |
status | int32 |
SchedWakingFtraceEvent
Defined in sched.proto
Fields:
Field | Type | Description |
---|---|---|
comm | string | |
pid | int32 | |
prio | int32 | |
success | int32 | |
target_cpu | int32 |
IpiEntryFtraceEvent
Defined in ipi.proto
Fields:
Field | Type | Description |
---|---|---|
reason | string |
IpiExitFtraceEvent
Defined in ipi.proto
Fields:
Field | Type | Description |
---|---|---|
reason | string |
IpiRaiseFtraceEvent
Defined in ipi.proto
Fields:
Field | Type | Description |
---|---|---|
target_cpus | uint32 | |
reason | string |
SoftirqEntryFtraceEvent
Defined in irq.proto
Fields:
Field | Type | Description |
---|---|---|
vec | uint32 |
SoftirqExitFtraceEvent
Defined in irq.proto
Fields:
Field | Type | Description |
---|---|---|
vec | uint32 |
SoftirqRaiseFtraceEvent
Defined in irq.proto
Fields:
Field | Type | Description |
---|---|---|
vec | uint32 |
I2cReadFtraceEvent
Defined in i2c.proto
Fields:
Field | Type | Description |
---|---|---|
adapter_nr | int32 | |
msg_nr | uint32 | |
addr | uint32 | |
flags | uint32 | |
len | uint32 |
I2cWriteFtraceEvent
Defined in i2c.proto
Fields:
Field | Type | Description |
---|---|---|
adapter_nr | int32 | |
msg_nr | uint32 | |
addr | uint32 | |
flags | uint32 | |
len | uint32 | |
buf | uint32 |
I2cResultFtraceEvent
Defined in i2c.proto
Fields:
Field | Type | Description |
---|---|---|
adapter_nr | int32 | |
nr_msgs | uint32 | |
ret | int32 |
I2cReplyFtraceEvent
Defined in i2c.proto
Fields:
Field | Type | Description |
---|---|---|
adapter_nr | int32 | |
msg_nr | uint32 | |
addr | uint32 | |
flags | uint32 | |
len | uint32 | |
buf | uint32 |
SmbusReadFtraceEvent
Defined in i2c.proto
Fields:
Field | Type | Description |
---|---|---|
adapter_nr | int32 | |
flags | uint32 | |
addr | uint32 | |
command | uint32 | |
protocol | uint32 |
SmbusWriteFtraceEvent
Defined in i2c.proto
Fields:
Field | Type | Description |
---|---|---|
adapter_nr | int32 | |
addr | uint32 | |
flags | uint32 | |
command | uint32 | |
len | uint32 | |
protocol | uint32 |
SmbusResultFtraceEvent
Defined in i2c.proto
Fields:
Field | Type | Description |
---|---|---|
adapter_nr | int32 | |
addr | uint32 | |
flags | uint32 | |
read_write | uint32 | |
command | uint32 | |
res | int32 | |
protocol | uint32 |
SmbusReplyFtraceEvent
Defined in i2c.proto
Fields:
Field | Type | Description |
---|---|---|
adapter_nr | int32 | |
addr | uint32 | |
flags | uint32 | |
command | uint32 | |
len | uint32 | |
protocol | uint32 |
LowmemoryKillFtraceEvent
Defined in lowmemorykiller.proto
Fields:
Field | Type | Description |
---|---|---|
comm | string | |
pid | int32 | |
pagecache_size | int64 | |
pagecache_limit | int64 | |
free | int64 |
IrqHandlerEntryFtraceEvent
Defined in irq.proto
Fields:
Field | Type | Description |
---|---|---|
irq | int32 | |
name | string | |
handler | uint32 |
IrqHandlerExitFtraceEvent
Defined in irq.proto
Fields:
Field | Type | Description |
---|---|---|
irq | int32 | |
ret | int32 |
SyncPtFtraceEvent
Defined in sync.proto
Fields:
Field | Type | Description |
---|---|---|
timeline | string | |
value | string |
SyncTimelineFtraceEvent
Defined in sync.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
value | string |
SyncWaitFtraceEvent
Defined in sync.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
status | int32 | |
begin | uint32 |
Ext4DaWriteBeginFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pos | int64 | |
len | uint32 | |
flags | uint32 |
Ext4DaWriteEndFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pos | int64 | |
len | uint32 | |
copied | uint32 |
Ext4SyncFileEnterFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
parent | uint64 | |
datasync | int32 |
Ext4SyncFileExitFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
ret | int32 |
BlockRqIssueFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
nr_sector | uint32 | |
bytes | uint32 | |
rwbs | string | |
comm | string | |
cmd | string |
MmVmscanDirectReclaimBeginFtraceEvent
Defined in vmscan.proto
Fields:
Field | Type | Description |
---|---|---|
order | int32 | |
may_writepage | int32 | |
gfp_flags | uint32 |
MmVmscanDirectReclaimEndFtraceEvent
Defined in vmscan.proto
Fields:
Field | Type | Description |
---|---|---|
nr_reclaimed | uint64 |
MmVmscanKswapdWakeFtraceEvent
Defined in vmscan.proto
Fields:
Field | Type | Description |
---|---|---|
nid | int32 | |
order | int32 | |
zid | int32 |
MmVmscanKswapdSleepFtraceEvent
Defined in vmscan.proto
Fields:
Field | Type | Description |
---|---|---|
nid | int32 |
BinderTransactionFtraceEvent
Defined in binder.proto
Fields:
Field | Type | Description |
---|---|---|
debug_id | int32 | |
target_node | int32 | |
to_proc | int32 | |
to_thread | int32 | |
reply | int32 | |
code | uint32 | |
flags | uint32 |
BinderTransactionReceivedFtraceEvent
Defined in binder.proto
Fields:
Field | Type | Description |
---|---|---|
debug_id | int32 |
BinderSetPriorityFtraceEvent
Defined in binder.proto
Fields:
Field | Type | Description |
---|---|---|
proc | int32 | |
thread | int32 | |
old_prio | uint32 | |
new_prio | uint32 | |
desired_prio | uint32 |
BinderLockFtraceEvent
Defined in binder.proto
Fields:
Field | Type | Description |
---|---|---|
tag | string |
BinderLockedFtraceEvent
Defined in binder.proto
Fields:
Field | Type | Description |
---|---|---|
tag | string |
BinderUnlockFtraceEvent
Defined in binder.proto
Fields:
Field | Type | Description |
---|---|---|
tag | string |
WorkqueueActivateWorkFtraceEvent
Defined in workqueue.proto
Fields:
Field | Type | Description |
---|---|---|
work | uint64 |
WorkqueueExecuteEndFtraceEvent
Defined in workqueue.proto
Fields:
Field | Type | Description |
---|---|---|
work | uint64 | |
function | uint64 |
WorkqueueExecuteStartFtraceEvent
Defined in workqueue.proto
Fields:
Field | Type | Description |
---|---|---|
work | uint64 | |
function | uint64 |
WorkqueueQueueWorkFtraceEvent
Defined in workqueue.proto
Fields:
Field | Type | Description |
---|---|---|
work | uint64 | |
function | uint64 | |
workqueue | uint64 | |
req_cpu | uint32 | |
cpu | uint32 |
RegulatorDisableFtraceEvent
Defined in regulator.proto
Fields:
Field | Type | Description |
---|---|---|
name | string |
RegulatorDisableCompleteFtraceEvent
Defined in regulator.proto
Fields:
Field | Type | Description |
---|---|---|
name | string |
RegulatorEnableFtraceEvent
Defined in regulator.proto
Fields:
Field | Type | Description |
---|---|---|
name | string |
RegulatorEnableCompleteFtraceEvent
Defined in regulator.proto
Fields:
Field | Type | Description |
---|---|---|
name | string |
RegulatorEnableDelayFtraceEvent
Defined in regulator.proto
Fields:
Field | Type | Description |
---|---|---|
name | string |
RegulatorSetVoltageFtraceEvent
Defined in regulator.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
min | int32 | |
max | int32 |
RegulatorSetVoltageCompleteFtraceEvent
Defined in regulator.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
val | uint32 |
CgroupAttachTaskFtraceEvent
Defined in cgroup.proto
Fields:
Field | Type | Description |
---|---|---|
dst_root | int32 | |
dst_id | int32 | |
pid | int32 | |
comm | string | |
cname | string | |
dst_level | int32 | |
dst_path | string |
CgroupMkdirFtraceEvent
Defined in cgroup.proto
Fields:
Field | Type | Description |
---|---|---|
root | int32 | |
id | int32 | |
cname | string | |
level | int32 | |
path | string |
CgroupRemountFtraceEvent
Defined in cgroup.proto
Fields:
Field | Type | Description |
---|---|---|
root | int32 | |
ss_mask | uint32 | |
name | string |
CgroupRmdirFtraceEvent
Defined in cgroup.proto
Fields:
Field | Type | Description |
---|---|---|
root | int32 | |
id | int32 | |
cname | string | |
level | int32 | |
path | string |
CgroupTransferTasksFtraceEvent
Defined in cgroup.proto
Fields:
Field | Type | Description |
---|---|---|
dst_root | int32 | |
dst_id | int32 | |
pid | int32 | |
comm | string | |
cname | string | |
dst_level | int32 | |
dst_path | string |
CgroupDestroyRootFtraceEvent
Defined in cgroup.proto
Fields:
Field | Type | Description |
---|---|---|
root | int32 | |
ss_mask | uint32 | |
name | string |
CgroupReleaseFtraceEvent
Defined in cgroup.proto
Fields:
Field | Type | Description |
---|---|---|
root | int32 | |
id | int32 | |
cname | string | |
level | int32 | |
path | string |
CgroupRenameFtraceEvent
Defined in cgroup.proto
Fields:
Field | Type | Description |
---|---|---|
root | int32 | |
id | int32 | |
cname | string | |
level | int32 | |
path | string |
CgroupSetupRootFtraceEvent
Defined in cgroup.proto
Fields:
Field | Type | Description |
---|---|---|
root | int32 | |
ss_mask | uint32 | |
name | string |
MdpCmdKickoffFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
ctl_num | uint32 | |
kickoff_cnt | int32 |
MdpCommitFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
num | uint32 | |
play_cnt | uint32 | |
clk_rate | uint32 | |
bandwidth | uint64 |
MdpPerfSetOtFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
pnum | uint32 | |
xin_id | uint32 | |
rd_lim | uint32 | |
is_vbif_rt | uint32 |
MdpSsppChangeFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
num | uint32 | |
play_cnt | uint32 | |
mixer | uint32 | |
stage | uint32 | |
flags | uint32 | |
format | uint32 | |
img_w | uint32 | |
img_h | uint32 | |
src_x | uint32 | |
src_y | uint32 | |
src_w | uint32 | |
src_h | uint32 | |
dst_x | uint32 | |
dst_y | uint32 | |
dst_w | uint32 | |
dst_h | uint32 |
TracingMarkWriteFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | |
trace_name | string | |
trace_begin | uint32 |
MdpCmdPingpongDoneFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
ctl_num | uint32 | |
intf_num | uint32 | |
pp_num | uint32 | |
koff_cnt | int32 |
MdpCompareBwFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
new_ab | uint64 | |
new_ib | uint64 | |
new_wb | uint64 | |
old_ab | uint64 | |
old_ib | uint64 | |
old_wb | uint64 | |
params_changed | uint32 | |
update_bw | uint32 |
MdpPerfSetPanicLutsFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
pnum | uint32 | |
fmt | uint32 | |
mode | uint32 | |
panic_lut | uint32 | |
robust_lut | uint32 |
MdpSsppSetFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
num | uint32 | |
play_cnt | uint32 | |
mixer | uint32 | |
stage | uint32 | |
flags | uint32 | |
format | uint32 | |
img_w | uint32 | |
img_h | uint32 | |
src_x | uint32 | |
src_y | uint32 | |
src_w | uint32 | |
src_h | uint32 | |
dst_x | uint32 | |
dst_y | uint32 | |
dst_w | uint32 | |
dst_h | uint32 |
MdpCmdReadptrDoneFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
ctl_num | uint32 | |
koff_cnt | int32 |
MdpMisrCrcFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
block_id | uint32 | |
vsync_cnt | uint32 | |
crc | uint32 |
MdpPerfSetQosLutsFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
pnum | uint32 | |
fmt | uint32 | |
intf | uint32 | |
rot | uint32 | |
fl | uint32 | |
lut | uint32 | |
linear | uint32 |
MdpTraceCounterFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | |
counter_name | string | |
value | int32 |
MdpCmdReleaseBwFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
ctl_num | uint32 |
MdpMixerUpdateFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
mixer_num | uint32 |
MdpPerfSetWmLevelsFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
pnum | uint32 | |
use_space | uint32 | |
priority_bytes | uint32 | |
wm0 | uint32 | |
wm1 | uint32 | |
wm2 | uint32 | |
mb_cnt | uint32 | |
mb_size | uint32 |
MdpVideoUnderrunDoneFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
ctl_num | uint32 | |
underrun_cnt | uint32 |
MdpCmdWaitPingpongFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
ctl_num | uint32 | |
kickoff_cnt | int32 |
MdpPerfPrefillCalcFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
pnum | uint32 | |
latency_buf | uint32 | |
ot | uint32 | |
y_buf | uint32 | |
y_scaler | uint32 | |
pp_lines | uint32 | |
pp_bytes | uint32 | |
post_sc | uint32 | |
fbc_bytes | uint32 | |
prefill_bytes | uint32 |
MdpPerfUpdateBusFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
client | int32 | |
ab_quota | uint64 | |
ib_quota | uint64 |
RotatorBwAoAsContextFtraceEvent
Defined in mdss.proto
Fields:
Field | Type | Description |
---|---|---|
state | uint32 |
MmFilemapAddToPageCacheFtraceEvent
Defined in filemap.proto
Fields:
Field | Type | Description |
---|---|---|
pfn | uint64 | |
i_ino | uint64 | |
index | uint64 | |
s_dev | uint64 | |
page | uint64 |
MmFilemapDeleteFromPageCacheFtraceEvent
Defined in filemap.proto
Fields:
Field | Type | Description |
---|---|---|
pfn | uint64 | |
i_ino | uint64 | |
index | uint64 | |
s_dev | uint64 | |
page | uint64 |
MmCompactionBeginFtraceEvent
Defined in compaction.proto
Fields:
Field | Type | Description |
---|---|---|
zone_start | uint64 | |
migrate_pfn | uint64 | |
free_pfn | uint64 | |
zone_end | uint64 | |
sync | uint32 |
MmCompactionDeferCompactionFtraceEvent
Defined in compaction.proto
Fields:
Field | Type | Description |
---|---|---|
nid | int32 | |
idx | uint32 | |
order | int32 | |
considered | uint32 | |
defer_shift | uint32 | |
order_failed | int32 |
MmCompactionDeferredFtraceEvent
Defined in compaction.proto
Fields:
Field | Type | Description |
---|---|---|
nid | int32 | |
idx | uint32 | |
order | int32 | |
considered | uint32 | |
defer_shift | uint32 | |
order_failed | int32 |
MmCompactionDeferResetFtraceEvent
Defined in compaction.proto
Fields:
Field | Type | Description |
---|---|---|
nid | int32 | |
idx | uint32 | |
order | int32 | |
considered | uint32 | |
defer_shift | uint32 | |
order_failed | int32 |
MmCompactionEndFtraceEvent
Defined in compaction.proto
Fields:
Field | Type | Description |
---|---|---|
zone_start | uint64 | |
migrate_pfn | uint64 | |
free_pfn | uint64 | |
zone_end | uint64 | |
sync | uint32 | |
status | int32 |
MmCompactionFinishedFtraceEvent
Defined in compaction.proto
Fields:
Field | Type | Description |
---|---|---|
nid | int32 | |
idx | uint32 | |
order | int32 | |
ret | int32 |
MmCompactionIsolateFreepagesFtraceEvent
Defined in compaction.proto
Fields:
Field | Type | Description |
---|---|---|
start_pfn | uint64 | |
end_pfn | uint64 | |
nr_scanned | uint64 | |
nr_taken | uint64 |
MmCompactionIsolateMigratepagesFtraceEvent
Defined in compaction.proto
Fields:
Field | Type | Description |
---|---|---|
start_pfn | uint64 | |
end_pfn | uint64 | |
nr_scanned | uint64 | |
nr_taken | uint64 |
MmCompactionKcompactdSleepFtraceEvent
Defined in compaction.proto
Fields:
Field | Type | Description |
---|---|---|
nid | int32 |
MmCompactionKcompactdWakeFtraceEvent
Defined in compaction.proto
Fields:
Field | Type | Description |
---|---|---|
nid | int32 | |
order | int32 | |
classzone_idx | uint32 | |
highest_zoneidx | uint32 |
MmCompactionMigratepagesFtraceEvent
Defined in compaction.proto
Fields:
Field | Type | Description |
---|---|---|
nr_migrated | uint64 | |
nr_failed | uint64 |
MmCompactionSuitableFtraceEvent
Defined in compaction.proto
Fields:
Field | Type | Description |
---|---|---|
nid | int32 | |
idx | uint32 | |
order | int32 | |
ret | int32 |
MmCompactionTryToCompactPagesFtraceEvent
Defined in compaction.proto
Fields:
Field | Type | Description |
---|---|---|
order | int32 | |
gfp_mask | uint32 | |
mode | uint32 | |
prio | int32 |
MmCompactionWakeupKcompactdFtraceEvent
Defined in compaction.proto
Fields:
Field | Type | Description |
---|---|---|
nid | int32 | |
order | int32 | |
classzone_idx | uint32 | |
highest_zoneidx | uint32 |
SuspendResumeFtraceEvent
Defined in power.proto
Fields:
Field | Type | Description |
---|---|---|
action | string | |
val | int32 | |
start | uint32 |
SchedWakeupNewFtraceEvent
Defined in sched.proto
Fields:
Field | Type | Description |
---|---|---|
comm | string | |
pid | int32 | |
prio | int32 | |
success | int32 | |
target_cpu | int32 |
BlockBioBackmergeFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
nr_sector | uint32 | |
rwbs | string | |
comm | string |
BlockBioBounceFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
nr_sector | uint32 | |
rwbs | string | |
comm | string |
BlockBioCompleteFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
nr_sector | uint32 | |
error | int32 | |
rwbs | string |
BlockBioFrontmergeFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
nr_sector | uint32 | |
rwbs | string | |
comm | string |
BlockBioQueueFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
nr_sector | uint32 | |
rwbs | string | |
comm | string |
BlockBioRemapFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
nr_sector | uint32 | |
old_dev | uint64 | |
old_sector | uint64 | |
rwbs | string |
BlockDirtyBufferFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
size | uint64 |
BlockGetrqFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
nr_sector | uint32 | |
rwbs | string | |
comm | string |
BlockPlugFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
comm | string |
BlockRqAbortFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
nr_sector | uint32 | |
errors | int32 | |
rwbs | string | |
cmd | string |
BlockRqCompleteFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
nr_sector | uint32 | |
errors | int32 | |
rwbs | string | |
cmd | string | |
error | int32 |
BlockRqInsertFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
nr_sector | uint32 | |
bytes | uint32 | |
rwbs | string | |
comm | string | |
cmd | string |
BlockRqRemapFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
nr_sector | uint32 | |
old_dev | uint64 | |
old_sector | uint64 | |
nr_bios | uint32 | |
rwbs | string |
BlockRqRequeueFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
nr_sector | uint32 | |
errors | int32 | |
rwbs | string | |
cmd | string |
BlockSleeprqFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
nr_sector | uint32 | |
rwbs | string | |
comm | string |
BlockSplitFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
new_sector | uint64 | |
rwbs | string | |
comm | string |
BlockTouchBufferFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
size | uint64 |
BlockUnplugFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
nr_rq | int32 | |
comm | string |
Ext4AllocDaBlocksFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
data_blocks | uint32 | |
meta_blocks | uint32 |
Ext4AllocateBlocksFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
block | uint64 | |
len | uint32 | |
logical | uint32 | |
lleft | uint32 | |
lright | uint32 | |
goal | uint64 | |
pleft | uint64 | |
pright | uint64 | |
flags | uint32 |
Ext4AllocateInodeFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
dir | uint64 | |
mode | uint32 |
Ext4BeginOrderedTruncateFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
new_size | int64 |
Ext4CollapseRangeFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
offset | int64 | |
len | int64 |
Ext4DaReleaseSpaceFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
i_blocks | uint64 | |
freed_blocks | int32 | |
reserved_data_blocks | int32 | |
reserved_meta_blocks | int32 | |
allocated_meta_blocks | int32 | |
mode | uint32 |
Ext4DaReserveSpaceFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
i_blocks | uint64 | |
reserved_data_blocks | int32 | |
reserved_meta_blocks | int32 | |
mode | uint32 | |
md_needed | int32 |
Ext4DaUpdateReserveSpaceFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
i_blocks | uint64 | |
used_blocks | int32 | |
reserved_data_blocks | int32 | |
reserved_meta_blocks | int32 | |
allocated_meta_blocks | int32 | |
quota_claim | int32 | |
mode | uint32 |
Ext4DaWritePagesFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
first_page | uint64 | |
nr_to_write | int64 | |
sync_mode | int32 | |
b_blocknr | uint64 | |
b_size | uint32 | |
b_state | uint32 | |
io_done | int32 | |
pages_written | int32 |
Ext4DaWritePagesExtentFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
lblk | uint64 | |
len | uint32 | |
flags | uint32 |
Ext4DirectIOEnterFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pos | int64 | |
len | uint64 | |
rw | int32 |
Ext4DirectIOExitFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pos | int64 | |
len | uint64 | |
rw | int32 | |
ret | int32 |
Ext4DiscardBlocksFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
blk | uint64 | |
count | uint64 |
Ext4DiscardPreallocationsFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
len | uint32 | |
needed | uint32 |
Ext4DropInodeFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
drop | int32 |
Ext4EsCacheExtentFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
lblk | uint32 | |
len | uint32 | |
pblk | uint64 | |
status | uint32 |
Ext4EsFindDelayedExtentRangeEnterFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
lblk | uint32 |
Ext4EsFindDelayedExtentRangeExitFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
lblk | uint32 | |
len | uint32 | |
pblk | uint64 | |
status | uint64 |
Ext4EsInsertExtentFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
lblk | uint32 | |
len | uint32 | |
pblk | uint64 | |
status | uint64 |
Ext4EsLookupExtentEnterFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
lblk | uint32 |
Ext4EsLookupExtentExitFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
lblk | uint32 | |
len | uint32 | |
pblk | uint64 | |
status | uint64 | |
found | int32 |
Ext4EsRemoveExtentFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
lblk | int64 | |
len | int64 |
Ext4EsShrinkFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
nr_shrunk | int32 | |
scan_time | uint64 | |
nr_skipped | int32 | |
retried | int32 |
Ext4EsShrinkCountFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
nr_to_scan | int32 | |
cache_cnt | int32 |
Ext4EsShrinkScanEnterFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
nr_to_scan | int32 | |
cache_cnt | int32 |
Ext4EsShrinkScanExitFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
nr_shrunk | int32 | |
cache_cnt | int32 |
Ext4EvictInodeFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
nlink | int32 |
Ext4ExtConvertToInitializedEnterFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
m_lblk | uint32 | |
m_len | uint32 | |
u_lblk | uint32 | |
u_len | uint32 | |
u_pblk | uint64 |
Ext4ExtConvertToInitializedFastpathFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
m_lblk | uint32 | |
m_len | uint32 | |
u_lblk | uint32 | |
u_len | uint32 | |
u_pblk | uint64 | |
i_lblk | uint32 | |
i_len | uint32 | |
i_pblk | uint64 |
Ext4ExtHandleUnwrittenExtentsFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
flags | int32 | |
lblk | uint32 | |
pblk | uint64 | |
len | uint32 | |
allocated | uint32 | |
newblk | uint64 |
Ext4ExtInCacheFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
lblk | uint32 | |
ret | int32 |
Ext4ExtLoadExtentFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pblk | uint64 | |
lblk | uint32 |
Ext4ExtMapBlocksEnterFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
lblk | uint32 | |
len | uint32 | |
flags | uint32 |
Ext4ExtMapBlocksExitFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
flags | uint32 | |
pblk | uint64 | |
lblk | uint32 | |
len | uint32 | |
mflags | uint32 | |
ret | int32 |
Ext4ExtPutInCacheFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
lblk | uint32 | |
len | uint32 | |
start | uint64 |
Ext4ExtRemoveSpaceFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
start | uint32 | |
end | uint32 | |
depth | int32 |
Ext4ExtRemoveSpaceDoneFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
start | uint32 | |
end | uint32 | |
depth | int32 | |
partial | int64 | |
eh_entries | uint32 | |
pc_lblk | uint32 | |
pc_pclu | uint64 | |
pc_state | int32 |
Ext4ExtRmIdxFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pblk | uint64 |
Ext4ExtRmLeafFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
partial | int64 | |
start | uint32 | |
ee_lblk | uint32 | |
ee_pblk | uint64 | |
ee_len | int32 | |
pc_lblk | uint32 | |
pc_pclu | uint64 | |
pc_state | int32 |
Ext4ExtShowExtentFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pblk | uint64 | |
lblk | uint32 | |
len | uint32 |
Ext4FallocateEnterFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
offset | int64 | |
len | int64 | |
mode | int32 | |
pos | int64 |
Ext4FallocateExitFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pos | int64 | |
blocks | uint32 | |
ret | int32 |
Ext4FindDelallocRangeFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
from | uint32 | |
to | uint32 | |
reverse | int32 | |
found | int32 | |
found_blk | uint32 |
Ext4ForgetFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
block | uint64 | |
is_metadata | int32 | |
mode | uint32 |
Ext4FreeBlocksFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
block | uint64 | |
count | uint64 | |
flags | int32 | |
mode | uint32 |
Ext4FreeInodeFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
uid | uint32 | |
gid | uint32 | |
blocks | uint64 | |
mode | uint32 |
Ext4GetImpliedClusterAllocExitFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
flags | uint32 | |
lblk | uint32 | |
pblk | uint64 | |
len | uint32 | |
ret | int32 |
Ext4GetReservedClusterAllocFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
lblk | uint32 | |
len | uint32 |
Ext4IndMapBlocksEnterFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
lblk | uint32 | |
len | uint32 | |
flags | uint32 |
Ext4IndMapBlocksExitFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
flags | uint32 | |
pblk | uint64 | |
lblk | uint32 | |
len | uint32 | |
mflags | uint32 | |
ret | int32 |
Ext4InsertRangeFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
offset | int64 | |
len | int64 |
Ext4InvalidatepageFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
index | uint64 | |
offset | uint64 | |
length | uint32 |
Ext4JournalStartFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ip | uint64 | |
blocks | int32 | |
rsv_blocks | int32 | |
nblocks | int32 | |
revoke_creds | int32 |
Ext4JournalStartReservedFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ip | uint64 | |
blocks | int32 |
Ext4JournalledInvalidatepageFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
index | uint64 | |
offset | uint64 | |
length | uint32 |
Ext4JournalledWriteEndFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pos | int64 | |
len | uint32 | |
copied | uint32 |
Ext4LoadInodeFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 |
Ext4LoadInodeBitmapFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
group | uint32 |
Ext4MarkInodeDirtyFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
ip | uint64 |
Ext4MbBitmapLoadFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
group | uint32 |
Ext4MbBuddyBitmapLoadFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
group | uint32 |
Ext4MbDiscardPreallocationsFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
needed | int32 |
Ext4MbNewGroupPaFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pa_pstart | uint64 | |
pa_lstart | uint64 | |
pa_len | uint32 |
Ext4MbNewInodePaFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pa_pstart | uint64 | |
pa_lstart | uint64 | |
pa_len | uint32 |
Ext4MbReleaseGroupPaFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
pa_pstart | uint64 | |
pa_len | uint32 |
Ext4MbReleaseInodePaFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
block | uint64 | |
count | uint32 |
Ext4MballocAllocFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
orig_logical | uint32 | |
orig_start | int32 | |
orig_group | uint32 | |
orig_len | int32 | |
goal_logical | uint32 | |
goal_start | int32 | |
goal_group | uint32 | |
goal_len | int32 | |
result_logical | uint32 | |
result_start | int32 | |
result_group | uint32 | |
result_len | int32 | |
found | uint32 | |
groups | uint32 | |
buddy | uint32 | |
flags | uint32 | |
tail | uint32 | |
cr | uint32 |
Ext4MballocDiscardFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
result_start | int32 | |
result_group | uint32 | |
result_len | int32 |
Ext4MballocFreeFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
result_start | int32 | |
result_group | uint32 | |
result_len | int32 |
Ext4MballocPreallocFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
orig_logical | uint32 | |
orig_start | int32 | |
orig_group | uint32 | |
orig_len | int32 | |
result_logical | uint32 | |
result_start | int32 | |
result_group | uint32 | |
result_len | int32 |
Ext4OtherInodeUpdateTimeFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
orig_ino | uint64 | |
uid | uint32 | |
gid | uint32 | |
mode | uint32 |
Ext4PunchHoleFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
offset | int64 | |
len | int64 | |
mode | int32 |
Ext4ReadBlockBitmapLoadFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
group | uint32 | |
prefetch | uint32 |
Ext4ReadpageFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
index | uint64 |
Ext4ReleasepageFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
index | uint64 |
Ext4RemoveBlocksFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
from | uint32 | |
to | uint32 | |
partial | int64 | |
ee_pblk | uint64 | |
ee_lblk | uint32 | |
ee_len | uint32 | |
pc_lblk | uint32 | |
pc_pclu | uint64 | |
pc_state | int32 |
Ext4RequestBlocksFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
len | uint32 | |
logical | uint32 | |
lleft | uint32 | |
lright | uint32 | |
goal | uint64 | |
pleft | uint64 | |
pright | uint64 | |
flags | uint32 |
Ext4RequestInodeFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
dir | uint64 | |
mode | uint32 |
Ext4SyncFsFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
wait | int32 |
Ext4TrimAllFreeFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev_major | int32 | |
dev_minor | int32 | |
group | uint32 | |
start | int32 | |
len | int32 |
Ext4TrimExtentFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev_major | int32 | |
dev_minor | int32 | |
group | uint32 | |
start | int32 | |
len | int32 |
Ext4TruncateEnterFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
blocks | uint64 |
Ext4TruncateExitFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
blocks | uint64 |
Ext4UnlinkEnterFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
parent | uint64 | |
size | int64 |
Ext4UnlinkExitFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
ret | int32 |
Ext4WriteBeginFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pos | int64 | |
len | uint32 | |
flags | uint32 |
Ext4WriteEndFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pos | int64 | |
len | uint32 | |
copied | uint32 |
Ext4WritepageFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
index | uint64 |
Ext4WritepagesFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
nr_to_write | int64 | |
pages_skipped | int64 | |
range_start | int64 | |
range_end | int64 | |
writeback_index | uint64 | |
sync_mode | int32 | |
for_kupdate | uint32 | |
range_cyclic | uint32 |
Ext4WritepagesResultFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
ret | int32 | |
pages_written | int32 | |
pages_skipped | int64 | |
writeback_index | uint64 | |
sync_mode | int32 |
Ext4ZeroRangeFtraceEvent
Defined in ext4.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
offset | int64 | |
len | int64 | |
mode | int32 |
TaskNewtaskFtraceEvent
Defined in task.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | |
comm | string | |
clone_flags | uint64 | |
oom_score_adj | int32 |
TaskRenameFtraceEvent
Defined in task.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | |
oldcomm | string | |
newcomm | string | |
oom_score_adj | int32 |
SchedProcessExecFtraceEvent
Defined in sched.proto
Fields:
Field | Type | Description |
---|---|---|
filename | string | |
pid | int32 | |
old_pid | int32 |
SchedProcessExitFtraceEvent
Defined in sched.proto
Fields:
Field | Type | Description |
---|---|---|
comm | string | |
pid | int32 | |
tgid | int32 | |
prio | int32 |
SchedProcessForkFtraceEvent
Defined in sched.proto
Fields:
Field | Type | Description |
---|---|---|
parent_comm | string | |
parent_pid | int32 | |
child_comm | string | |
child_pid | int32 |
SchedProcessFreeFtraceEvent
Defined in sched.proto
Fields:
Field | Type | Description |
---|---|---|
comm | string | |
pid | int32 | |
prio | int32 |
SchedProcessHangFtraceEvent
Defined in sched.proto
Fields:
Field | Type | Description |
---|---|---|
comm | string | |
pid | int32 |
SchedProcessWaitFtraceEvent
Defined in sched.proto
Fields:
Field | Type | Description |
---|---|---|
comm | string | |
pid | int32 | |
prio | int32 |
F2fsDoSubmitBioFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
btype | int32 | |
sync | uint32 | |
sector | uint64 | |
size | uint32 |
F2fsEvictInodeFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pino | uint64 | |
mode | uint32 | |
size | int64 | |
nlink | uint32 | |
blocks | uint64 | |
advise | uint32 |
F2fsFallocateFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
mode | int32 | |
offset | int64 | |
len | int64 | |
size | int64 | |
blocks | uint64 | |
ret | int32 |
F2fsGetDataBlockFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
iblock | uint64 | |
bh_start | uint64 | |
bh_size | uint64 | |
ret | int32 |
F2fsGetVictimFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
type | int32 | |
gc_type | int32 | |
alloc_mode | int32 | |
gc_mode | int32 | |
victim | uint32 | |
ofs_unit | uint32 | |
pre_victim | uint32 | |
prefree | uint32 | |
free | uint32 | |
cost | uint32 |
F2fsIgetFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pino | uint64 | |
mode | uint32 | |
size | int64 | |
nlink | uint32 | |
blocks | uint64 | |
advise | uint32 |
F2fsIgetExitFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
ret | int32 |
F2fsNewInodeFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
ret | int32 |
F2fsReadpageFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
index | uint64 | |
blkaddr | uint64 | |
type | int32 | |
dir | int32 | |
dirty | int32 | |
uptodate | int32 |
F2fsReserveNewBlockFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
nid | uint32 | |
ofs_in_node | uint32 |
F2fsSetPageDirtyFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
type | int32 | |
dir | int32 | |
index | uint64 | |
dirty | int32 | |
uptodate | int32 |
F2fsSubmitWritePageFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
type | int32 | |
index | uint64 | |
block | uint32 |
F2fsSyncFileEnterFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pino | uint64 | |
mode | uint32 | |
size | int64 | |
nlink | uint32 | |
blocks | uint64 | |
advise | uint32 |
F2fsSyncFileExitFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
need_cp | uint32 | |
datasync | int32 | |
ret | int32 | |
cp_reason | int32 |
F2fsSyncFsFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
dirty | int32 | |
wait | int32 |
F2fsTruncateFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pino | uint64 | |
mode | uint32 | |
size | int64 | |
nlink | uint32 | |
blocks | uint64 | |
advise | uint32 |
F2fsTruncateBlocksEnterFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
size | int64 | |
blocks | uint64 | |
from | uint64 |
F2fsTruncateBlocksExitFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
ret | int32 |
F2fsTruncateDataBlocksRangeFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
nid | uint32 | |
ofs | uint32 | |
free | int32 |
F2fsTruncateInodeBlocksEnterFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
size | int64 | |
blocks | uint64 | |
from | uint64 |
F2fsTruncateInodeBlocksExitFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
ret | int32 |
F2fsTruncateNodeFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
nid | uint32 | |
blk_addr | uint32 |
F2fsTruncateNodesEnterFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
nid | uint32 | |
blk_addr | uint32 |
F2fsTruncateNodesExitFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
ret | int32 |
F2fsTruncatePartialNodesFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
nid | uint32 | |
depth | int32 | |
err | int32 |
F2fsUnlinkEnterFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
size | int64 | |
blocks | uint64 | |
name | string |
F2fsUnlinkExitFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
ret | int32 |
F2fsVmPageMkwriteFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
type | int32 | |
dir | int32 | |
index | uint64 | |
dirty | int32 | |
uptodate | int32 |
F2fsWriteBeginFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pos | int64 | |
len | uint32 | |
flags | uint32 |
F2fsWriteCheckpointFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
is_umount | uint32 | |
msg | string | |
reason | int32 |
F2fsWriteEndFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ino | uint64 | |
pos | int64 | |
len | uint32 | |
copied | uint32 |
AllocPagesIommuEndFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
gfp_flags | uint32 | |
order | uint32 |
AllocPagesIommuFailFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
gfp_flags | uint32 | |
order | uint32 |
AllocPagesIommuStartFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
gfp_flags | uint32 | |
order | uint32 |
AllocPagesSysEndFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
gfp_flags | uint32 | |
order | uint32 |
AllocPagesSysFailFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
gfp_flags | uint32 | |
order | uint32 |
AllocPagesSysStartFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
gfp_flags | uint32 | |
order | uint32 |
DmaAllocContiguousRetryFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
tries | int32 |
IommuMapRangeFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
chunk_size | uint64 | |
len | uint64 | |
pa | uint64 | |
va | uint64 |
IommuSecPtblMapRangeEndFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
len | uint64 | |
num | int32 | |
pa | uint32 | |
sec_id | int32 | |
va | uint64 |
IommuSecPtblMapRangeStartFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
len | uint64 | |
num | int32 | |
pa | uint32 | |
sec_id | int32 | |
va | uint64 |
IonAllocBufferEndFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
client_name | string | |
flags | uint32 | |
heap_name | string | |
len | uint64 | |
mask | uint32 |
IonAllocBufferFailFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
client_name | string | |
error | int64 | |
flags | uint32 | |
heap_name | string | |
len | uint64 | |
mask | uint32 |
IonAllocBufferFallbackFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
client_name | string | |
error | int64 | |
flags | uint32 | |
heap_name | string | |
len | uint64 | |
mask | uint32 |
IonAllocBufferStartFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
client_name | string | |
flags | uint32 | |
heap_name | string | |
len | uint64 | |
mask | uint32 |
IonCpAllocRetryFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
tries | int32 |
IonCpSecureBufferEndFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
align | uint64 | |
flags | uint64 | |
heap_name | string | |
len | uint64 |
IonCpSecureBufferStartFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
align | uint64 | |
flags | uint64 | |
heap_name | string | |
len | uint64 |
IonPrefetchingFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
len | uint64 |
IonSecureCmaAddToPoolEndFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
is_prefetch | uint32 | |
len | uint64 | |
pool_total | int32 |
IonSecureCmaAddToPoolStartFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
is_prefetch | uint32 | |
len | uint64 | |
pool_total | int32 |
IonSecureCmaAllocateEndFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
align | uint64 | |
flags | uint64 | |
heap_name | string | |
len | uint64 |
IonSecureCmaAllocateStartFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
align | uint64 | |
flags | uint64 | |
heap_name | string | |
len | uint64 |
IonSecureCmaShrinkPoolEndFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
drained_size | uint64 | |
skipped_size | uint64 |
IonSecureCmaShrinkPoolStartFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
drained_size | uint64 | |
skipped_size | uint64 |
KfreeFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
call_site | uint64 | |
ptr | uint64 |
KmallocFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
bytes_alloc | uint64 | |
bytes_req | uint64 | |
call_site | uint64 | |
gfp_flags | uint32 | |
ptr | uint64 |
KmallocNodeFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
bytes_alloc | uint64 | |
bytes_req | uint64 | |
call_site | uint64 | |
gfp_flags | uint32 | |
node | int32 | |
ptr | uint64 |
KmemCacheAllocFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
bytes_alloc | uint64 | |
bytes_req | uint64 | |
call_site | uint64 | |
gfp_flags | uint32 | |
ptr | uint64 |
KmemCacheAllocNodeFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
bytes_alloc | uint64 | |
bytes_req | uint64 | |
call_site | uint64 | |
gfp_flags | uint32 | |
node | int32 | |
ptr | uint64 |
KmemCacheFreeFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
call_site | uint64 | |
ptr | uint64 |
MigratePagesEndFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
mode | int32 |
MigratePagesStartFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
mode | int32 |
MigrateRetryFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
tries | int32 |
MmPageAllocFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
gfp_flags | uint32 | |
migratetype | int32 | |
order | uint32 | |
page | uint64 | |
pfn | uint64 |
MmPageAllocExtfragFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
alloc_migratetype | int32 | |
alloc_order | int32 | |
fallback_migratetype | int32 | |
fallback_order | int32 | |
page | uint64 | |
change_ownership | int32 | |
pfn | uint64 |
MmPageAllocZoneLockedFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
migratetype | int32 | |
order | uint32 | |
page | uint64 | |
pfn | uint64 |
MmPageFreeFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
order | uint32 | |
page | uint64 | |
pfn | uint64 |
MmPageFreeBatchedFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
cold | int32 | |
page | uint64 | |
pfn | uint64 |
MmPagePcpuDrainFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
migratetype | int32 | |
order | uint32 | |
page | uint64 | |
pfn | uint64 |
RssStatFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
member | int32 | |
size | int64 | |
curr | uint32 | |
mm_id | uint32 |
IonHeapShrinkFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
heap_name | string | |
len | uint64 | |
total_allocated | int64 |
IonHeapGrowFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
heap_name | string | |
len | uint64 | |
total_allocated | int64 |
FenceInitFtraceEvent
Defined in fence.proto
Fields:
Field | Type | Description |
---|---|---|
context | uint32 | |
driver | string | |
seqno | uint32 | |
timeline | string |
FenceDestroyFtraceEvent
Defined in fence.proto
Fields:
Field | Type | Description |
---|---|---|
context | uint32 | |
driver | string | |
seqno | uint32 | |
timeline | string |
FenceEnableSignalFtraceEvent
Defined in fence.proto
Fields:
Field | Type | Description |
---|---|---|
context | uint32 | |
driver | string | |
seqno | uint32 | |
timeline | string |
FenceSignaledFtraceEvent
Defined in fence.proto
Fields:
Field | Type | Description |
---|---|---|
context | uint32 | |
driver | string | |
seqno | uint32 | |
timeline | string |
ClkEnableFtraceEvent
Defined in clk.proto
Fields:
Field | Type | Description |
---|---|---|
name | string |
ClkDisableFtraceEvent
Defined in clk.proto
Fields:
Field | Type | Description |
---|---|---|
name | string |
ClkSetRateFtraceEvent
Defined in clk.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
rate | uint64 |
BinderTransactionAllocBufFtraceEvent
Defined in binder.proto
Fields:
Field | Type | Description |
---|---|---|
data_size | uint64 | |
debug_id | int32 | |
offsets_size | uint64 | |
extra_buffers_size | uint64 |
SignalDeliverFtraceEvent
Defined in signal.proto
Fields:
Field | Type | Description |
---|---|---|
code | int32 | |
sa_flags | uint64 | |
sig | int32 |
SignalGenerateFtraceEvent
Defined in signal.proto
Fields:
Field | Type | Description |
---|---|---|
code | int32 | |
comm | string | |
group | int32 | |
pid | int32 | |
result | int32 | |
sig | int32 |
OomScoreAdjUpdateFtraceEvent
Defined in oom.proto
Fields:
Field | Type | Description |
---|---|---|
comm | string | |
oom_score_adj | int32 | |
pid | int32 |
GenericFtraceEvent
This generic proto is used to output events in the trace when a specific proto for that event does not exist.
Defined in generic.proto
Fields:
Field | Type | Description |
---|---|---|
event_name | string | |
field | Field[] |
GenericFtraceEvent.Field
Defined in generic.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
str_value | string | |
int_value | int64 | |
uint_value | uint64 |
MmEventRecordFtraceEvent
Defined in mm_event.proto
Fields:
Field | Type | Description |
---|---|---|
avg_lat | uint32 | |
count | uint32 | |
max_lat | uint32 | |
type | uint32 |
SysEnterFtraceEvent
Defined in raw_syscalls.proto
Fields:
Field | Type | Description |
---|---|---|
id | int64 | |
args | uint64[] |
SysExitFtraceEvent
Defined in raw_syscalls.proto
Fields:
Field | Type | Description |
---|---|---|
id | int64 | |
ret | int64 |
ZeroFtraceEvent
Defined in systrace.proto
Fields:
Field | Type | Description |
---|---|---|
flag | int32 | |
name | string | |
pid | int32 | |
value | int64 |
GpuFrequencyFtraceEvent
Defined in power.proto
Fields:
Field | Type | Description |
---|---|---|
gpu_id | uint32 | |
state | uint32 |
SdeTracingMarkWriteFtraceEvent
Defined in sde.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | |
trace_name | string | |
trace_type | uint32 | |
value | int32 | |
trace_begin | uint32 |
MarkVictimFtraceEvent
Defined in oom.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 |
IonStatFtraceEvent
Defined in ion.proto
Fields:
Field | Type | Description |
---|---|---|
buffer_id | uint32 | |
len | int64 | |
total_allocated | uint64 |
IonBufferCreateFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
addr | uint64 | |
len | uint64 |
IonBufferDestroyFtraceEvent
Defined in kmem.proto
Fields:
Field | Type | Description |
---|---|---|
addr | uint64 | |
len | uint64 |
ScmCallStartFtraceEvent
Defined in scm.proto
Fields:
Field | Type | Description |
---|---|---|
arginfo | uint32 | |
x0 | uint64 | |
x5 | uint64 |
ScmCallEndFtraceEvent
Defined in scm.proto
Fields:
Field | Type | Description |
---|
GpuMemTotalFtraceEvent
Defined in gpu_mem.proto
Fields:
Field | Type | Description |
---|---|---|
gpu_id | uint32 | |
pid | uint32 | |
size | uint64 |
ThermalTemperatureFtraceEvent
Defined in thermal.proto
Fields:
Field | Type | Description |
---|---|---|
id | int32 | |
temp | int32 | |
temp_prev | int32 | |
thermal_zone | string |
CdevUpdateFtraceEvent
Defined in thermal.proto
Fields:
Field | Type | Description |
---|---|---|
target | uint64 | |
type | string |
CpuhpExitFtraceEvent
Defined in cpuhp.proto
Fields:
Field | Type | Description |
---|---|---|
cpu | uint32 | |
idx | int32 | |
ret | int32 | |
state | int32 |
CpuhpMultiEnterFtraceEvent
Defined in cpuhp.proto
Fields:
Field | Type | Description |
---|---|---|
cpu | uint32 | |
fun | uint64 | |
idx | int32 | |
target | int32 |
CpuhpEnterFtraceEvent
Defined in cpuhp.proto
Fields:
Field | Type | Description |
---|---|---|
cpu | uint32 | |
fun | uint64 | |
idx | int32 | |
target | int32 |
CpuhpLatencyFtraceEvent
Defined in cpuhp.proto
Fields:
Field | Type | Description |
---|---|---|
cpu | uint32 | |
ret | int32 | |
state | uint32 | |
time | uint64 |
FastrpcDmaStatFtraceEvent
Defined in fastrpc.proto
Fields:
Field | Type | Description |
---|---|---|
cid | int32 | |
len | int64 | |
total_allocated | uint64 |
DpuTracingMarkWriteFtraceEvent
Defined in dpu.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | |
trace_name | string | |
trace_begin | uint32 | |
name | string | |
type | uint32 | |
value | int32 |
G2dTracingMarkWriteFtraceEvent
Defined in g2d.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | |
name | string | |
type | uint32 | |
value | int32 |
MaliTracingMarkWriteFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
pid | int32 | |
type | uint32 | |
value | int32 |
DmaHeapStatFtraceEvent
Defined in dmabuf_heap.proto
Fields:
Field | Type | Description |
---|---|---|
inode | uint64 | |
len | int64 | |
total_allocated | uint64 |
CpuhpPauseFtraceEvent
Defined in cpuhp.proto
Fields:
Field | Type | Description |
---|---|---|
active_cpus | uint32 | |
cpus | uint32 | |
pause | uint32 | |
time | uint32 |
SchedPiSetprioFtraceEvent
Defined in sched.proto
Fields:
Field | Type | Description |
---|---|---|
comm | string | |
newprio | int32 | |
oldprio | int32 | |
pid | int32 |
SdeSdeEvtlogFtraceEvent
Defined in sde.proto
Fields:
Field | Type | Description |
---|---|---|
evtlog_tag | string | |
pid | int32 | |
tag_id | uint32 |
SdeSdePerfCalcCrtcFtraceEvent
Defined in sde.proto
Fields:
Field | Type | Description |
---|---|---|
bw_ctl_ebi | uint64 | |
bw_ctl_llcc | uint64 | |
bw_ctl_mnoc | uint64 | |
core_clk_rate | uint32 | |
crtc | uint32 | |
ib_ebi | uint64 | |
ib_llcc | uint64 | |
ib_mnoc | uint64 |
SdeSdePerfCrtcUpdateFtraceEvent
Defined in sde.proto
Fields:
Field | Type | Description |
---|---|---|
bw_ctl_ebi | uint64 | |
bw_ctl_llcc | uint64 | |
bw_ctl_mnoc | uint64 | |
core_clk_rate | uint32 | |
crtc | uint32 | |
params | int32 | |
per_pipe_ib_ebi | uint64 | |
per_pipe_ib_llcc | uint64 | |
per_pipe_ib_mnoc | uint64 | |
stop_req | uint32 | |
update_bus | uint32 | |
update_clk | uint32 |
SdeSdePerfSetQosLutsFtraceEvent
Defined in sde.proto
Fields:
Field | Type | Description |
---|---|---|
fl | uint32 | |
fmt | uint32 | |
lut | uint64 | |
lut_usage | uint32 | |
pnum | uint32 | |
rt | uint32 |
SdeSdePerfUpdateBusFtraceEvent
Defined in sde.proto
Fields:
Field | Type | Description |
---|---|---|
ab_quota | uint64 | |
bus_id | uint32 | |
client | int32 | |
ib_quota | uint64 |
RssStatThrottledFtraceEvent
Defined in synthetic.proto
Fields:
Field | Type | Description |
---|---|---|
curr | uint32 | |
member | int32 | |
mm_id | uint32 | |
size | int64 |
NetifReceiveSkbFtraceEvent
Defined in net.proto
Fields:
Field | Type | Description |
---|---|---|
len | uint32 | |
name | string | |
skbaddr | uint64 |
NetDevXmitFtraceEvent
Defined in net.proto
Fields:
Field | Type | Description |
---|---|---|
len | uint32 | |
name | string | |
rc | int32 | |
skbaddr | uint64 |
InetSockSetStateFtraceEvent
Defined in sock.proto
Fields:
Field | Type | Description |
---|---|---|
daddr | uint32 | |
dport | uint32 | |
family | uint32 | |
newstate | int32 | |
oldstate | int32 | |
protocol | uint32 | |
saddr | uint32 | |
skaddr | uint64 | |
sport | uint32 |
TcpRetransmitSkbFtraceEvent
Defined in tcp.proto
Fields:
Field | Type | Description |
---|---|---|
daddr | uint32 | |
dport | uint32 | |
saddr | uint32 | |
skaddr | uint64 | |
skbaddr | uint64 | |
sport | uint32 | |
state | int32 |
CrosEcSensorhubDataFtraceEvent
Defined in cros_ec.proto
Fields:
Field | Type | Description |
---|---|---|
current_time | int64 | |
current_timestamp | int64 | |
delta | int64 | |
ec_fifo_timestamp | uint32 | |
ec_sensor_num | uint32 | |
fifo_timestamp | int64 |
NapiGroReceiveEntryFtraceEvent
Defined in net.proto
Fields:
Field | Type | Description |
---|---|---|
data_len | uint32 | |
gso_size | uint32 | |
gso_type | uint32 | |
hash | uint32 | |
ip_summed | uint32 | |
l4_hash | uint32 | |
len | uint32 | |
mac_header | int32 | |
mac_header_valid | uint32 | |
name | string | |
napi_id | uint32 | |
nr_frags | uint32 | |
protocol | uint32 | |
queue_mapping | uint32 | |
skbaddr | uint64 | |
truesize | uint32 | |
vlan_proto | uint32 | |
vlan_tagged | uint32 | |
vlan_tci | uint32 |
NapiGroReceiveExitFtraceEvent
Defined in net.proto
Fields:
Field | Type | Description |
---|---|---|
ret | int32 |
KfreeSkbFtraceEvent
Defined in skb.proto
Fields:
Field | Type | Description |
---|---|---|
location | uint64 | |
protocol | uint32 | |
skbaddr | uint64 |
KvmAccessFaultFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
ipa | uint64 |
KvmAckIrqFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
irqchip | uint32 | |
pin | uint32 |
KvmAgeHvaFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
end | uint64 | |
start | uint64 |
KvmAgePageFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
gfn | uint64 | |
hva | uint64 | |
level | uint32 | |
referenced | uint32 |
KvmArmClearDebugFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
guest_debug | uint32 |
KvmArmSetDreg32FtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
value | uint32 |
KvmArmSetRegsetFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
len | int32 | |
name | string |
KvmArmSetupDebugFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
guest_debug | uint32 | |
vcpu | uint64 |
KvmEntryFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
vcpu_pc | uint64 |
KvmExitFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
esr_ec | uint32 | |
ret | int32 | |
vcpu_pc | uint64 |
KvmFpuFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
load | uint32 |
KvmGetTimerMapFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
direct_ptimer | int32 | |
direct_vtimer | int32 | |
emul_ptimer | int32 | |
vcpu_id | uint64 |
KvmGuestFaultFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
hsr | uint64 | |
hxfar | uint64 | |
ipa | uint64 | |
vcpu_pc | uint64 |
KvmHandleSysRegFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
hsr | uint64 |
KvmHvcArm64FtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
imm | uint64 | |
r0 | uint64 | |
vcpu_pc | uint64 |
KvmIrqLineFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
irq_num | int32 | |
level | int32 | |
type | uint32 | |
vcpu_idx | int32 |
KvmMmioFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
gpa | uint64 | |
len | uint32 | |
type | uint32 | |
val | uint64 |
KvmMmioEmulateFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
cpsr | uint64 | |
instr | uint64 | |
vcpu_pc | uint64 |
KvmSetGuestDebugFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
guest_debug | uint32 | |
vcpu | uint64 |
KvmSetIrqFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
gsi | uint32 | |
irq_source_id | int32 | |
level | int32 |
KvmSetSpteHvaFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
hva | uint64 |
KvmSetWayFlushFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
cache | uint32 | |
vcpu_pc | uint64 |
KvmSysAccessFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
CRm | uint32 | |
CRn | uint32 | |
Op0 | uint32 | |
Op1 | uint32 | |
Op2 | uint32 | |
is_write | uint32 | |
name | string | |
vcpu_pc | uint64 |
KvmTestAgeHvaFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
hva | uint64 |
KvmTimerEmulateFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
should_fire | uint32 | |
timer_idx | int32 |
KvmTimerHrtimerExpireFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
timer_idx | int32 |
KvmTimerRestoreStateFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
ctl | uint64 | |
cval | uint64 | |
timer_idx | int32 |
KvmTimerSaveStateFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
ctl | uint64 | |
cval | uint64 | |
timer_idx | int32 |
KvmTimerUpdateIrqFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
irq | uint32 | |
level | int32 | |
vcpu_id | uint64 |
KvmToggleCacheFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
now | uint32 | |
vcpu_pc | uint64 | |
was | uint32 |
KvmUnmapHvaRangeFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
end | uint64 | |
start | uint64 |
KvmUserspaceExitFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
reason | uint32 |
KvmVcpuWakeupFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
ns | uint64 | |
valid | uint32 | |
waited | uint32 |
KvmWfxArm64FtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
is_wfe | uint32 | |
vcpu_pc | uint64 |
TrapRegFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
fn | string | |
is_write | uint32 | |
reg | int32 | |
write_value | uint64 |
VgicUpdateIrqPendingFtraceEvent
Defined in kvm.proto
Fields:
Field | Type | Description |
---|---|---|
irq | uint32 | |
level | uint32 | |
vcpu_id | uint64 |
WakeupSourceActivateFtraceEvent
Defined in power.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
state | uint64 |
WakeupSourceDeactivateFtraceEvent
Defined in power.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
state | uint64 |
UfshcdCommandFtraceEvent
Defined in ufs.proto
Fields:
Field | Type | Description |
---|---|---|
dev_name | string | |
doorbell | uint32 | |
intr | uint32 | |
lba | uint64 | |
opcode | uint32 | |
str | string | |
tag | uint32 | |
transfer_len | int32 | |
group_id | uint32 | |
str_t | uint32 |
UfshcdClkGatingFtraceEvent
Defined in ufs.proto
Fields:
Field | Type | Description |
---|---|---|
dev_name | string | |
state | int32 |
ConsoleFtraceEvent
Defined in printk.proto
Fields:
Field | Type | Description |
---|---|---|
msg | string |
DrmVblankEventFtraceEvent
Defined in drm.proto
Fields:
Field | Type | Description |
---|---|---|
crtc | int32 | |
high_prec | uint32 | |
seq | uint32 | |
time | int64 |
DrmVblankEventDeliveredFtraceEvent
Defined in drm.proto
Fields:
Field | Type | Description |
---|---|---|
crtc | int32 | |
file | uint64 | |
seq | uint32 |
DrmSchedJobFtraceEvent
Defined in gpu_scheduler.proto
Fields:
Field | Type | Description |
---|---|---|
entity | uint64 | |
fence | uint64 | |
hw_job_count | int32 | |
id | uint64 | |
job_count | uint32 | |
name | string |
DrmRunJobFtraceEvent
Defined in gpu_scheduler.proto
Fields:
Field | Type | Description |
---|---|---|
entity | uint64 | |
fence | uint64 | |
hw_job_count | int32 | |
id | uint64 | |
job_count | uint32 | |
name | string |
DrmSchedProcessJobFtraceEvent
Defined in gpu_scheduler.proto
Fields:
Field | Type | Description |
---|---|---|
fence | uint64 |
DmaFenceInitFtraceEvent
Defined in dma_fence.proto
Fields:
Field | Type | Description |
---|---|---|
context | uint32 | |
driver | string | |
seqno | uint32 | |
timeline | string |
DmaFenceEmitFtraceEvent
Defined in dma_fence.proto
Fields:
Field | Type | Description |
---|---|---|
context | uint32 | |
driver | string | |
seqno | uint32 | |
timeline | string |
DmaFenceSignaledFtraceEvent
Defined in dma_fence.proto
Fields:
Field | Type | Description |
---|---|---|
context | uint32 | |
driver | string | |
seqno | uint32 | |
timeline | string |
DmaFenceWaitStartFtraceEvent
Defined in dma_fence.proto
Fields:
Field | Type | Description |
---|---|---|
context | uint32 | |
driver | string | |
seqno | uint32 | |
timeline | string |
DmaFenceWaitEndFtraceEvent
Defined in dma_fence.proto
Fields:
Field | Type | Description |
---|---|---|
context | uint32 | |
driver | string | |
seqno | uint32 | |
timeline | string |
F2fsIostatFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
app_bio | uint64 | |
app_brio | uint64 | |
app_dio | uint64 | |
app_drio | uint64 | |
app_mio | uint64 | |
app_mrio | uint64 | |
app_rio | uint64 | |
app_wio | uint64 | |
dev | uint64 | |
fs_cdrio | uint64 | |
fs_cp_dio | uint64 | |
fs_cp_mio | uint64 | |
fs_cp_nio | uint64 | |
fs_dio | uint64 | |
fs_discard | uint64 | |
fs_drio | uint64 | |
fs_gc_dio | uint64 | |
fs_gc_nio | uint64 | |
fs_gdrio | uint64 | |
fs_mio | uint64 | |
fs_mrio | uint64 | |
fs_nio | uint64 | |
fs_nrio | uint64 |
F2fsIostatLatencyFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
d_rd_avg | uint32 | |
d_rd_cnt | uint32 | |
d_rd_peak | uint32 | |
d_wr_as_avg | uint32 | |
d_wr_as_cnt | uint32 | |
d_wr_as_peak | uint32 | |
d_wr_s_avg | uint32 | |
d_wr_s_cnt | uint32 | |
d_wr_s_peak | uint32 | |
dev | uint64 | |
m_rd_avg | uint32 | |
m_rd_cnt | uint32 | |
m_rd_peak | uint32 | |
m_wr_as_avg | uint32 | |
m_wr_as_cnt | uint32 | |
m_wr_as_peak | uint32 | |
m_wr_s_avg | uint32 | |
m_wr_s_cnt | uint32 | |
m_wr_s_peak | uint32 | |
n_rd_avg | uint32 | |
n_rd_cnt | uint32 | |
n_rd_peak | uint32 | |
n_wr_as_avg | uint32 | |
n_wr_as_cnt | uint32 | |
n_wr_as_peak | uint32 | |
n_wr_s_avg | uint32 | |
n_wr_s_cnt | uint32 | |
n_wr_s_peak | uint32 |
SchedCpuUtilCfsFtraceEvent
Defined in sched.proto
Fields:
Field | Type | Description |
---|---|---|
active | int32 | |
capacity | uint64 | |
capacity_orig | uint64 | |
cpu | uint32 | |
cpu_importance | uint64 | |
cpu_util | uint64 | |
exit_lat | uint32 | |
group_capacity | uint64 | |
grp_overutilized | uint32 | |
idle_cpu | uint32 | |
nr_running | uint32 | |
spare_cap | int64 | |
task_fits | uint32 | |
wake_group_util | uint64 | |
wake_util | uint64 |
V4l2QbufFtraceEvent
Defined in v4l2.proto
Fields:
Field | Type | Description |
---|---|---|
bytesused | uint32 | |
field | uint32 | |
flags | uint32 | |
index | uint32 | |
minor | int32 | |
sequence | uint32 | |
timecode_flags | uint32 | |
timecode_frames | uint32 | |
timecode_hours | uint32 | |
timecode_minutes | uint32 | |
timecode_seconds | uint32 | |
timecode_type | uint32 | |
timecode_userbits0 | uint32 | |
timecode_userbits1 | uint32 | |
timecode_userbits2 | uint32 | |
timecode_userbits3 | uint32 | |
timestamp | int64 | |
type | uint32 |
V4l2DqbufFtraceEvent
Defined in v4l2.proto
Fields:
Field | Type | Description |
---|---|---|
bytesused | uint32 | |
field | uint32 | |
flags | uint32 | |
index | uint32 | |
minor | int32 | |
sequence | uint32 | |
timecode_flags | uint32 | |
timecode_frames | uint32 | |
timecode_hours | uint32 | |
timecode_minutes | uint32 | |
timecode_seconds | uint32 | |
timecode_type | uint32 | |
timecode_userbits0 | uint32 | |
timecode_userbits1 | uint32 | |
timecode_userbits2 | uint32 | |
timecode_userbits3 | uint32 | |
timestamp | int64 | |
type | uint32 |
Vb2V4l2BufQueueFtraceEvent
Defined in v4l2.proto
Fields:
Field | Type | Description |
---|---|---|
field | uint32 | |
flags | uint32 | |
minor | int32 | |
sequence | uint32 | |
timecode_flags | uint32 | |
timecode_frames | uint32 | |
timecode_hours | uint32 | |
timecode_minutes | uint32 | |
timecode_seconds | uint32 | |
timecode_type | uint32 | |
timecode_userbits0 | uint32 | |
timecode_userbits1 | uint32 | |
timecode_userbits2 | uint32 | |
timecode_userbits3 | uint32 | |
timestamp | int64 |
Vb2V4l2BufDoneFtraceEvent
Defined in v4l2.proto
Fields:
Field | Type | Description |
---|---|---|
field | uint32 | |
flags | uint32 | |
minor | int32 | |
sequence | uint32 | |
timecode_flags | uint32 | |
timecode_frames | uint32 | |
timecode_hours | uint32 | |
timecode_minutes | uint32 | |
timecode_seconds | uint32 | |
timecode_type | uint32 | |
timecode_userbits0 | uint32 | |
timecode_userbits1 | uint32 | |
timecode_userbits2 | uint32 | |
timecode_userbits3 | uint32 | |
timestamp | int64 |
Vb2V4l2QbufFtraceEvent
Defined in v4l2.proto
Fields:
Field | Type | Description |
---|---|---|
field | uint32 | |
flags | uint32 | |
minor | int32 | |
sequence | uint32 | |
timecode_flags | uint32 | |
timecode_frames | uint32 | |
timecode_hours | uint32 | |
timecode_minutes | uint32 | |
timecode_seconds | uint32 | |
timecode_type | uint32 | |
timecode_userbits0 | uint32 | |
timecode_userbits1 | uint32 | |
timecode_userbits2 | uint32 | |
timecode_userbits3 | uint32 | |
timestamp | int64 |
Vb2V4l2DqbufFtraceEvent
Defined in v4l2.proto
Fields:
Field | Type | Description |
---|---|---|
field | uint32 | |
flags | uint32 | |
minor | int32 | |
sequence | uint32 | |
timecode_flags | uint32 | |
timecode_frames | uint32 | |
timecode_hours | uint32 | |
timecode_minutes | uint32 | |
timecode_seconds | uint32 | |
timecode_type | uint32 | |
timecode_userbits0 | uint32 | |
timecode_userbits1 | uint32 | |
timecode_userbits2 | uint32 | |
timecode_userbits3 | uint32 | |
timestamp | int64 |
DsiCmdFifoStatusFtraceEvent
Defined in panel.proto
Fields:
Field | Type | Description |
---|---|---|
header | uint32 | |
payload | uint32 |
DsiRxFtraceEvent
Defined in panel.proto
Fields:
Field | Type | Description |
---|---|---|
cmd | uint32 | |
rx_buf | uint32 |
DsiTxFtraceEvent
Defined in panel.proto
Fields:
Field | Type | Description |
---|---|---|
last | uint32 | |
tx_buf | uint32 | |
type | uint32 |
AndroidFsDatareadEndFtraceEvent
Defined in android_fs.proto
Fields:
Field | Type | Description |
---|---|---|
bytes | int32 | |
ino | uint64 | |
offset | int64 |
AndroidFsDatareadStartFtraceEvent
Defined in android_fs.proto
Fields:
Field | Type | Description |
---|---|---|
bytes | int32 | |
cmdline | string | |
i_size | int64 | |
ino | uint64 | |
offset | int64 | |
pathbuf | string | |
pid | int32 |
AndroidFsDatawriteEndFtraceEvent
Defined in android_fs.proto
Fields:
Field | Type | Description |
---|---|---|
bytes | int32 | |
ino | uint64 | |
offset | int64 |
AndroidFsDatawriteStartFtraceEvent
Defined in android_fs.proto
Fields:
Field | Type | Description |
---|---|---|
bytes | int32 | |
cmdline | string | |
i_size | int64 | |
ino | uint64 | |
offset | int64 | |
pathbuf | string | |
pid | int32 |
AndroidFsFsyncEndFtraceEvent
Defined in android_fs.proto
Fields:
Field | Type | Description |
---|---|---|
bytes | int32 | |
ino | uint64 | |
offset | int64 |
AndroidFsFsyncStartFtraceEvent
Defined in android_fs.proto
Fields:
Field | Type | Description |
---|---|---|
cmdline | string | |
i_size | int64 | |
ino | uint64 | |
pathbuf | string | |
pid | int32 |
FuncgraphEntryFtraceEvent
Defined in ftrace.proto
Fields:
Field | Type | Description |
---|---|---|
depth | int32 | |
func | uint64 |
FuncgraphExitFtraceEvent
Defined in ftrace.proto
Fields:
Field | Type | Description |
---|---|---|
calltime | uint64 | |
depth | int32 | |
func | uint64 | |
overrun | uint64 | |
rettime | uint64 |
VirtioVideoCmdFtraceEvent
Defined in virtio_video.proto
Fields:
Field | Type | Description |
---|---|---|
stream_id | uint32 | |
type | uint32 |
VirtioVideoCmdDoneFtraceEvent
Defined in virtio_video.proto
Fields:
Field | Type | Description |
---|---|---|
stream_id | uint32 | |
type | uint32 |
VirtioVideoResourceQueueFtraceEvent
Defined in virtio_video.proto
Fields:
Field | Type | Description |
---|---|---|
data_size0 | uint32 | |
data_size1 | uint32 | |
data_size2 | uint32 | |
data_size3 | uint32 | |
queue_type | uint32 | |
resource_id | int32 | |
stream_id | int32 | |
timestamp | uint64 |
VirtioVideoResourceQueueDoneFtraceEvent
Defined in virtio_video.proto
Fields:
Field | Type | Description |
---|---|---|
data_size0 | uint32 | |
data_size1 | uint32 | |
data_size2 | uint32 | |
data_size3 | uint32 | |
queue_type | uint32 | |
resource_id | int32 | |
stream_id | int32 | |
timestamp | uint64 |
MmShrinkSlabStartFtraceEvent
Defined in vmscan.proto
Fields:
Field | Type | Description |
---|---|---|
cache_items | uint64 | |
delta | uint64 | |
gfp_flags | uint32 | |
lru_pgs | uint64 | |
nr_objects_to_shrink | int64 | |
pgs_scanned | uint64 | |
shr | uint64 | |
shrink | uint64 | |
total_scan | uint64 | |
nid | int32 | |
priority | int32 |
MmShrinkSlabEndFtraceEvent
Defined in vmscan.proto
Fields:
Field | Type | Description |
---|---|---|
new_scan | int64 | |
retval | int32 | |
shr | uint64 | |
shrink | uint64 | |
total_scan | int64 | |
unused_scan | int64 | |
nid | int32 |
TrustySmcFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
r0 | uint64 | |
r1 | uint64 | |
r2 | uint64 | |
r3 | uint64 |
TrustySmcDoneFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
ret | uint64 |
TrustyStdCall32FtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
r0 | uint64 | |
r1 | uint64 | |
r2 | uint64 | |
r3 | uint64 |
TrustyStdCall32DoneFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
ret | int64 |
TrustyShareMemoryFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
len | uint64 | |
lend | uint32 | |
nents | uint32 |
TrustyShareMemoryDoneFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
handle | uint64 | |
len | uint64 | |
lend | uint32 | |
nents | uint32 | |
ret | int32 |
TrustyReclaimMemoryFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
id | uint64 |
TrustyReclaimMemoryDoneFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
id | uint64 | |
ret | int32 |
TrustyIrqFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
irq | int32 |
TrustyIpcHandleEventFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
chan | uint32 | |
event_id | uint32 | |
srv_name | string |
TrustyIpcConnectFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
chan | uint32 | |
port | string | |
state | int32 |
TrustyIpcConnectEndFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
chan | uint32 | |
err | int32 | |
state | int32 |
TrustyIpcWriteFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
buf_id | uint64 | |
chan | uint32 | |
kind_shm | int32 | |
len_or_err | int32 | |
shm_cnt | uint64 | |
srv_name | string |
TrustyIpcPollFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
chan | uint32 | |
poll_mask | uint32 | |
srv_name | string |
TrustyIpcReadFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
chan | uint32 | |
srv_name | string |
TrustyIpcReadEndFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
buf_id | uint64 | |
chan | uint32 | |
len_or_err | int32 | |
shm_cnt | uint64 | |
srv_name | string |
TrustyIpcRxFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
buf_id | uint64 | |
chan | uint32 | |
srv_name | string |
TrustyEnqueueNopFtraceEvent
Defined in trusty.proto
Fields:
Field | Type | Description |
---|---|---|
arg1 | uint32 | |
arg2 | uint32 | |
arg3 | uint32 |
CmaAllocStartFtraceEvent
Defined in cma.proto
Fields:
Field | Type | Description |
---|---|---|
align | uint32 | |
count | uint32 | |
name | string |
CmaAllocInfoFtraceEvent
Defined in cma.proto
Fields:
Field | Type | Description |
---|---|---|
align | uint32 | |
count | uint32 | |
err_iso | uint32 | |
err_mig | uint32 | |
err_test | uint32 | |
name | string | |
nr_mapped | uint64 | |
nr_migrated | uint64 | |
nr_reclaimed | uint64 | |
pfn | uint64 |
LwisTracingMarkWriteFtraceEvent
Defined in lwis.proto
Fields:
Field | Type | Description |
---|---|---|
lwis_name | string | |
type | uint32 | |
pid | int32 | |
func_name | string | |
value | int64 |
VirtioGpuCmdQueueFtraceEvent
Defined in virtio_gpu.proto
Fields:
Field | Type | Description |
---|---|---|
ctx_id | uint32 | |
dev | int32 | |
fence_id | uint64 | |
flags | uint32 | |
name | string | |
num_free | uint32 | |
seqno | uint32 | |
type | uint32 | |
vq | uint32 |
VirtioGpuCmdResponseFtraceEvent
Defined in virtio_gpu.proto
Fields:
Field | Type | Description |
---|---|---|
ctx_id | uint32 | |
dev | int32 | |
fence_id | uint64 | |
flags | uint32 | |
name | string | |
num_free | uint32 | |
seqno | uint32 | |
type | uint32 | |
vq | uint32 |
MaliMaliKCPUCQSSETFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
id | uint32 | |
info_val1 | uint64 | |
info_val2 | uint64 | |
kctx_id | uint32 | |
kctx_tgid | int32 |
MaliMaliKCPUCQSWAITSTARTFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
id | uint32 | |
info_val1 | uint64 | |
info_val2 | uint64 | |
kctx_id | uint32 | |
kctx_tgid | int32 |
MaliMaliKCPUCQSWAITENDFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
id | uint32 | |
info_val1 | uint64 | |
info_val2 | uint64 | |
kctx_id | uint32 | |
kctx_tgid | int32 |
MaliMaliKCPUFENCESIGNALFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
info_val1 | uint64 | |
info_val2 | uint64 | |
kctx_tgid | int32 | |
kctx_id | uint32 | |
id | uint32 |
MaliMaliKCPUFENCEWAITSTARTFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
info_val1 | uint64 | |
info_val2 | uint64 | |
kctx_tgid | int32 | |
kctx_id | uint32 | |
id | uint32 |
MaliMaliKCPUFENCEWAITENDFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
info_val1 | uint64 | |
info_val2 | uint64 | |
kctx_tgid | int32 | |
kctx_id | uint32 | |
id | uint32 |
HypEnterFtraceEvent
Defined in hyp.proto
Fields:
Field | Type | Description |
---|
HypExitFtraceEvent
Defined in hyp.proto
Fields:
Field | Type | Description |
---|
HostHcallFtraceEvent
Defined in hyp.proto
Fields:
Field | Type | Description |
---|---|---|
id | uint32 | |
invalid | uint32 |
HostSmcFtraceEvent
Defined in hyp.proto
Fields:
Field | Type | Description |
---|---|---|
id | uint64 | |
forwarded | uint32 |
HostMemAbortFtraceEvent
Defined in hyp.proto
Fields:
Field | Type | Description |
---|---|---|
esr | uint64 | |
addr | uint64 |
SuspendResumeMinimalFtraceEvent
Defined in synthetic.proto
Fields:
Field | Type | Description |
---|---|---|
start | uint32 |
MaliMaliCSFINTERRUPTSTARTFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliCSFINTERRUPTENDFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
SamsungTracingMarkWriteFtraceEvent
Defined in samsung.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | |
trace_name | string | |
trace_begin | uint32 | |
trace_type | uint32 | |
value | int32 |
BinderCommandFtraceEvent
Defined in binder.proto
Fields:
Field | Type | Description |
---|---|---|
cmd | uint32 |
BinderReturnFtraceEvent
Defined in binder.proto
Fields:
Field | Type | Description |
---|---|---|
cmd | uint32 |
SchedSwitchWithCtrsFtraceEvent
Defined in perf_trace_counters.proto
Fields:
Field | Type | Description |
---|---|---|
old_pid | int32 | |
new_pid | int32 | |
cctr | uint64 | |
ctr0 | uint64 | |
ctr1 | uint64 | |
ctr2 | uint64 | |
ctr3 | uint64 | |
lctr0 | uint32 | |
lctr1 | uint32 | |
ctr4 | uint64 | |
ctr5 | uint64 | |
prev_comm | string | |
prev_pid | int32 | |
cyc | uint32 | |
inst | uint32 | |
stallbm | uint32 | |
l3dm | uint32 | |
next_pid | int32 | |
next_comm | string | |
prev_state | int64 | |
amu0 | uint64 | |
amu1 | uint64 | |
amu2 | uint64 |
GpuWorkPeriodFtraceEvent
Defined in power.proto
Fields:
Field | Type | Description |
---|---|---|
gpu_id | uint32 | |
uid | uint32 | |
start_time_ns | uint64 | |
end_time_ns | uint64 | |
total_active_duration_ns | uint64 |
RpmStatusFtraceEvent
Defined in rpm.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
status | int32 |
PanelWriteGenericFtraceEvent
Defined in panel.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | |
trace_name | string | |
trace_begin | uint32 | |
name | string | |
type | uint32 | |
value | int32 |
SchedMigrateTaskFtraceEvent
Defined in sched.proto
Fields:
Field | Type | Description |
---|---|---|
comm | string | |
pid | int32 | |
prio | int32 | |
orig_cpu | int32 | |
dest_cpu | int32 | |
running | int32 | |
load | uint32 |
DpuDsiCmdFifoStatusFtraceEvent
Defined in dpu.proto
Fields:
Field | Type | Description |
---|---|---|
header | uint32 | |
payload | uint32 |
DpuDsiRxFtraceEvent
Defined in dpu.proto
Fields:
Field | Type | Description |
---|---|---|
cmd | uint32 | |
rx_buf | uint32 |
DpuDsiTxFtraceEvent
Defined in dpu.proto
Fields:
Field | Type | Description |
---|---|---|
type | uint32 | |
tx_buf | uint32 | |
last | uint32 | |
delay_ms | uint32 |
F2fsBackgroundGcFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
wait_ms | uint32 | |
prefree | uint32 | |
free | uint32 |
F2fsGcBeginFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sync | uint32 | |
background | uint32 | |
dirty_nodes | int64 | |
dirty_dents | int64 | |
dirty_imeta | int64 | |
free_sec | uint32 | |
free_seg | uint32 | |
reserved_seg | int32 | |
prefree_seg | uint32 | |
gc_type | int32 | |
no_bg_gc | uint32 | |
nr_free_secs | uint32 |
F2fsGcEndFtraceEvent
Defined in f2fs.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
ret | int32 | |
seg_freed | int32 | |
sec_freed | int32 | |
dirty_nodes | int64 | |
dirty_dents | int64 | |
dirty_imeta | int64 | |
free_sec | uint32 | |
free_seg | uint32 | |
reserved_seg | int32 | |
prefree_seg | uint32 |
FastrpcDmaFreeFtraceEvent
Defined in fastrpc.proto
Fields:
Field | Type | Description |
---|---|---|
cid | int32 | |
phys | uint64 | |
size | uint64 |
FastrpcDmaAllocFtraceEvent
Defined in fastrpc.proto
Fields:
Field | Type | Description |
---|---|---|
cid | int32 | |
phys | uint64 | |
size | uint64 | |
attr | uint64 | |
mflags | int32 |
FastrpcDmaUnmapFtraceEvent
Defined in fastrpc.proto
Fields:
Field | Type | Description |
---|---|---|
cid | int32 | |
phys | uint64 | |
size | uint64 |
FastrpcDmaMapFtraceEvent
Defined in fastrpc.proto
Fields:
Field | Type | Description |
---|---|---|
cid | int32 | |
fd | int32 | |
phys | uint64 | |
size | uint64 | |
len | uint64 | |
attr | uint32 | |
mflags | int32 |
GoogleIccEventFtraceEvent
Defined in google_icc_trace.proto
Fields:
Field | Type | Description |
---|---|---|
event | string | |
timestamp | uint64 |
GoogleIrmEventFtraceEvent
Defined in google_irm_trace.proto
Fields:
Field | Type | Description |
---|---|---|
event | string | |
timestamp | uint64 |
DevicePmCallbackStartFtraceEvent
Defined in power.proto
Fields:
Field | Type | Description |
---|---|---|
device | string | |
driver | string | |
parent | string | |
pm_ops | string | |
event | int32 |
DevicePmCallbackEndFtraceEvent
Defined in power.proto
Fields:
Field | Type | Description |
---|---|---|
device | string | |
driver | string | |
error | int32 |
ThermalExynosAcpmBulkFtraceEvent
Defined in thermal_exynos.proto
Fields:
Field | Type | Description |
---|---|---|
tz_id | uint32 | |
current_temp | uint32 | |
ctrl_temp | uint32 | |
cdev_state | uint32 | |
pid_et_p | int32 | |
pid_power_range | int32 | |
pid_p | int32 | |
pid_i | int32 | |
k_p | int32 | |
k_i | int32 | |
timestamp | uint64 |
ThermalExynosAcpmHighOverheadFtraceEvent
Defined in thermal_exynos.proto
Fields:
Field | Type | Description |
---|---|---|
tz_id | int32 | |
current_temp | uint32 | |
ctrl_temp | uint32 | |
cdev_state | uint32 | |
pid_et_p | int32 | |
k_p | int32 | |
k_i | int32 |
DcvshFreqFtraceEvent
Defined in dcvsh.proto
Fields:
Field | Type | Description |
---|---|---|
cpu | uint64 | |
freq | uint64 |
KgslGpuFrequencyFtraceEvent
Defined in kgsl.proto
Fields:
Field | Type | Description |
---|---|---|
gpu_freq | uint32 | |
gpu_id | uint32 |
MaliMaliPMMCUHCTLCORESDOWNSCALENOTIFYPENDFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUHCTLCORESNOTIFYPENDFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUHCTLCOREINACTIVEPENDFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUHCTLMCUONRECHECKFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUHCTLSHADERSCOREOFFPENDFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUHCTLSHADERSPENDOFFFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUHCTLSHADERSPENDONFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUHCTLSHADERSREADYOFFFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUINSLEEPFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUOFFFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUONFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUONCOREATTRUPDATEPENDFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUONGLBREINITPENDFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUONHALTFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUONHWCNTDISABLEFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUONHWCNTENABLEFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUONPENDHALTFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUONPENDSLEEPFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUONSLEEPINITIATEFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUPENDOFFFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUPENDONRELOADFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCUPOWERDOWNFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
MaliMaliPMMCURESETWAITFtraceEvent
Defined in mali.proto
Fields:
Field | Type | Description |
---|---|---|
kctx_tgid | int32 | |
kctx_id | uint32 | |
info_val | uint64 |
BclIrqTriggerFtraceEvent
Defined in bcl_exynos.proto
Fields:
Field | Type | Description |
---|---|---|
id | int32 | |
throttle | int32 | |
cpu0_limit | int32 | |
cpu1_limit | int32 | |
cpu2_limit | int32 | |
tpu_limit | int32 | |
gpu_limit | int32 | |
voltage | int32 | |
capacity | int32 |
KgslAdrenoCmdbatchQueuedFtraceEvent
Defined in kgsl.proto
Fields:
Field | Type | Description |
---|---|---|
id | uint32 | |
timestamp | uint32 | |
queued | uint32 | |
flags | uint32 | |
prio | uint32 |
KgslAdrenoCmdbatchSubmittedFtraceEvent
Defined in kgsl.proto
Fields:
Field | Type | Description |
---|---|---|
id | uint32 | |
timestamp | uint32 | |
inflight | int64 | |
flags | uint32 | |
ticks | uint64 | |
secs | uint64 | |
usecs | uint64 | |
prio | int32 | |
rb_id | int32 | |
rptr | uint32 | |
wptr | uint32 | |
q_inflight | int32 | |
dispatch_queue | int32 |
KgslAdrenoCmdbatchSyncFtraceEvent
Defined in kgsl.proto
Fields:
Field | Type | Description |
---|---|---|
id | uint32 | |
timestamp | uint32 | |
ticks | uint64 | |
prio | int32 |
KgslAdrenoCmdbatchRetiredFtraceEvent
Defined in kgsl.proto
Fields:
Field | Type | Description |
---|---|---|
id | uint32 | |
timestamp | uint32 | |
inflight | int64 | |
recovery | uint32 | |
flags | uint32 | |
start | uint64 | |
retire | uint64 | |
prio | int32 | |
rb_id | int32 | |
rptr | uint32 | |
wptr | uint32 | |
q_inflight | int32 | |
fault_recovery | uint64 | |
dispatch_queue | uint32 | |
submitted_to_rb | uint64 | |
retired_on_gmu | uint64 | |
active | uint64 |
PixelMmKswapdWakeFtraceEvent
Defined in pixel_mm.proto
Fields:
Field | Type | Description |
---|---|---|
whatever | int32 |
PixelMmKswapdDoneFtraceEvent
Defined in pixel_mm.proto
Fields:
Field | Type | Description |
---|---|---|
delta_nr_scanned | uint64 | |
delta_nr_reclaimed | uint64 |
SchedWakeupTaskAttrFtraceEvent
Defined in sched.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | |
cpu_affinity | uint64 | |
task_util | uint64 | |
uclamp_min | uint64 | |
vruntime | uint64 |
DevfreqFrequencyFtraceEvent
Defined in devfreq.proto
Fields:
Field | Type | Description |
---|---|---|
dev_name | string | |
freq | uint64 | |
prev_freq | uint64 | |
busy_time | uint64 | |
total_time | uint64 |
KprobeEvent
Defined in generic.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
type | KprobeType |
KprobeEvent.KprobeType
Defined in generic.proto
Enum values:
Name | Value | Description |
---|---|---|
KPROBE_TYPE_UNKNOWN | 0 | |
KPROBE_TYPE_BEGIN | 1 | |
KPROBE_TYPE_END | 2 | |
KPROBE_TYPE_INSTANT | 3 |
ParamSetValueCpmFtraceEvent
Defined in cpm_trace.proto
Fields:
Field | Type | Description |
---|---|---|
body | string | |
value | uint32 | |
timestamp | int64 |
DoSysOpenFtraceEvent
Defined in fs.proto
Fields:
Field | Type | Description |
---|---|---|
filename | string | |
flags | int32 | |
mode | int32 |
OpenExecFtraceEvent
Defined in fs.proto
Fields:
Field | Type | Description |
---|---|---|
filename | string |
BlockIoStartFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
nr_sector | uint32 | |
bytes | uint32 | |
ioprio | uint32 | |
rwbs | string | |
comm | string | |
cmd | string |
BlockIoDoneFtraceEvent
Defined in block.proto
Fields:
Field | Type | Description |
---|---|---|
dev | uint64 | |
sector | uint64 | |
nr_sector | uint32 | |
bytes | uint32 | |
ioprio | uint32 | |
rwbs | string | |
comm | string | |
cmd | string |
FtraceEventBundle.CompactSched
Optionally-enabled compact encoding of a batch of scheduling events. Only a subset of events & their fields is recorded. All fields (except comms) are stored in a structure-of-arrays form, one entry in each repeated field per event.
Defined in ftrace_event_bundle.proto
Fields:
Field | Type | Description |
---|---|---|
intern_table | string[] | Interned table of unique strings for this bundle. |
switch_timestamp | uint64[] | Delta-encoded timestamps across all sched_switch events within this bundle. The first is absolute, each next one is relative to its predecessor. |
switch_prev_state | int64[] | |
switch_next_pid | int32[] | |
switch_next_prio | int32[] | |
switch_next_comm_index | uint32[] | One per event, index into intern_table corresponding to the next_comm field of the event. |
waking_timestamp | uint64[] | Delta-encoded timestamps across all sched_waking events within this bundle. The first is absolute, each next one is relative to its predecessor. |
waking_pid | int32[] | |
waking_target_cpu | int32[] | |
waking_prio | int32[] | |
waking_comm_index | uint32[] | One per event, index into intern_table corresponding to the comm field of the event. |
waking_common_flags | uint32[] |
FtraceClock
Defined in ftrace_event_bundle.proto
Enum values:
Name | Value | Description |
---|---|---|
FTRACE_CLOCK_UNSPECIFIED | 0 | There is no FTRACE_CLOCK_BOOT entry as that's the default assumption. When the ftrace clock is "boot", it's just omitted (so UNSPECIFIED == BOOT). |
FTRACE_CLOCK_UNKNOWN | 1 | |
FTRACE_CLOCK_GLOBAL | 2 | |
FTRACE_CLOCK_LOCAL | 3 | |
FTRACE_CLOCK_MONO_RAW | 4 |
FtraceEventBundle.FtraceError
Errors encountered during parsing of the raw ftrace data. In case of ring buffer layout errors, the parser skips the rest of the offending kernel buffer page and continues from the next page. See also FtraceStats.ftrace_parse_errors, which collates all unique errors seen within the duration of the trace (even if the affected bundles get overwritten in ring buffer mode).
Defined in ftrace_event_bundle.proto
Fields:
Field | Type | Description |
---|---|---|
timestamp | uint64 | Timestamp of the data that we're unable to parse, in the ftrace clock domain. Currently, we use the base timestamp of the tracing page containing the bad record rather than the time of the record itself. |
status | FtraceParseStatus |
ExtensionDescriptor
This message contains descriptors used to parse extension fields of TrackEvent.
See docs/design-docs/extensions.md for more details.
Defined in extension_descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
extension_set | FileDescriptorSet |
FileDescriptorSet
The protocol compiler can output a FileDescriptorSet containing the .proto files it parses.
Defined in descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
file | FileDescriptorProto[] |
FileDescriptorProto
Describes a complete .proto file.
Defined in descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | file name, relative to root of source tree |
package | string | e.g. "foo", "foo.bar", etc. |
dependency | string[] | Names of files imported by this file. |
public_dependency | int32[] | Indexes of the public imported files in the dependency list above. |
weak_dependency | int32[] | Indexes of the weak imported files in the dependency list. For Google-internal migration only. Do not use. |
message_type | DescriptorProto[] | All top-level definitions in this file. |
enum_type | EnumDescriptorProto[] | |
extension | FieldDescriptorProto[] |
DescriptorProto
Describes a message type.
Defined in descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
field | FieldDescriptorProto[] | |
extension | FieldDescriptorProto[] | |
nested_type | DescriptorProto[] | |
enum_type | EnumDescriptorProto[] | |
oneof_decl | OneofDescriptorProto[] | |
reserved_range | ReservedRange[] | |
reserved_name | string[] | Reserved field names, which may not be used by fields in the same message. A given name may only be reserved once. |
FieldDescriptorProto
Describes a field within a message.
Defined in descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
number | int32 | |
label | Label | |
type | Type | If type_name is set, this need not be set. If both this and type_name are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. |
type_name | string | For message and enum types, this is the name of the type. If the name starts with a '.', it is fully-qualified. Otherwise, C++-like scoping rules are used to find the type (i.e. first the nested types within this message are searched, then within the parent, on up to the root namespace). |
extendee | string | For extensions, this is the name of the type being extended. It is resolved in the same manner as type_name. |
default_value | string | For numeric types, contains the original text representation of the value. For booleans, "true" or "false". For strings, contains the default text contents (not escaped in any way). For bytes, contains the C escaped value. All bytes >= 128 are escaped. |
options | FieldOptions | |
oneof_index | int32 | If set, gives the index of a oneof in the containing type's oneof_decl list. This field is a member of that oneof. |
FieldDescriptorProto.Label
Defined in descriptor.proto
Enum values:
Name | Value | Description |
---|---|---|
LABEL_OPTIONAL | 1 | 0 is reserved for errors |
LABEL_REQUIRED | 2 | |
LABEL_REPEATED | 3 |
FieldDescriptorProto.Type
Defined in descriptor.proto
Enum values:
Name | Value | Description |
---|---|---|
TYPE_DOUBLE | 1 | 0 is reserved for errors. Order is weird for historical reasons. |
TYPE_FLOAT | 2 | |
TYPE_INT64 | 3 | Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if negative values are likely. |
TYPE_UINT64 | 4 | |
TYPE_INT32 | 5 | Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if negative values are likely. |
TYPE_FIXED64 | 6 | |
TYPE_FIXED32 | 7 | |
TYPE_BOOL | 8 | |
TYPE_STRING | 9 | |
TYPE_GROUP | 10 | Tag-delimited aggregate. Group type is deprecated and not supported in proto3. However, Proto3 implementations should still be able to parse the group wire format and treat group fields as unknown fields. |
TYPE_MESSAGE | 11 | Length-delimited aggregate. |
TYPE_BYTES | 12 | New in version 2. |
TYPE_UINT32 | 13 | |
TYPE_ENUM | 14 | |
TYPE_SFIXED32 | 15 | |
TYPE_SFIXED64 | 16 | |
TYPE_SINT32 | 17 | Uses ZigZag encoding. |
TYPE_SINT64 | 18 | Uses ZigZag encoding. |
FieldOptions
Defined in descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
packed | bool | The packed option can be enabled for repeated primitive fields to enable a more efficient representation on the wire. Rather than repeatedly writing the tag and type for each element, the entire array is encoded as a single length-delimited blob. In proto3, only explicit setting it to false will avoid using packed encoding. |
uninterpreted_option | UninterpretedOption[] | The parser stores options it doesn't recognize here. See above. |
UninterpretedOption
A message representing a option the parser does not recognize. This only appears in options protos created by the compiler::Parser class. DescriptorPool resolves these when building Descriptor objects. Therefore, options protos in descriptor objects (e.g. returned by Descriptor::options(), or produced by Descriptor::CopyTo()) will never have UninterpretedOptions in them.
Defined in descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
name | NamePart[] | |
identifier_value | string | The value of the uninterpreted option, in whatever type the tokenizer identified it as during parsing. Exactly one of these should be set. |
positive_int_value | uint64 | |
negative_int_value | int64 | |
double_value | double | |
string_value | bytes | |
aggregate_value | string |
UninterpretedOption.NamePart
The name of the uninterpreted option. Each string represents a segment in a dot-separated name. is_extension is true iff a segment represents an extension (denoted with parentheses in options specs in .proto files). E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents "foo.(bar.baz).moo".
Defined in descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
name_part | string | |
is_extension | bool |
EnumDescriptorProto
Describes an enum type.
Defined in descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
value | EnumValueDescriptorProto[] | |
reserved_name | string[] | Reserved enum value names, which may not be reused. A given name may only be reserved once. |
EnumValueDescriptorProto
Describes a value within an enum.
Defined in descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
number | int32 |
OneofDescriptorProto
Describes a oneof.
Defined in descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | |
options | OneofOptions |
OneofOptions
Defined in descriptor.proto
Fields:
Field | Type | Description |
---|
DescriptorProto.ReservedRange
Range of reserved tag numbers. Reserved tag numbers may not be used by fields or extension ranges in the same message. Reserved ranges may not overlap.
Defined in descriptor.proto
Fields:
Field | Type | Description |
---|---|---|
start | int32 | Inclusive. |
end | int32 | Exclusive. |
NetworkPacketEvent
NetworkPacketEvent records the details of a single packet sent or received on the network (in Linux kernel terminology, one sk_buff struct).
Defined in network_trace.proto
Fields:
Field | Type | Description |
---|---|---|
direction | TrafficDirection | The direction traffic is flowing for this event. |
interface | string | The name of the interface if available (e.g. 'rmnet0'). |
length | uint32 | The length of the packet in bytes (wire_size - L2_header_size). Ignored when using NetworkPacketEvent as the ctx in either NetworkPacketBundle or NetworkPacketContext. |
uid | uint32 | The Linux user id associated with the packet's socket. |
tag | uint32 | The Android network tag associated with the packet's socket. |
ip_proto | uint32 | The packet's IP protocol (TCP=6, UDP=17, etc). |
tcp_flags | uint32 | The packet's TCP flags as a bitmask (FIN=0x1, SYN=0x2, RST=0x4, etc). |
local_port | uint32 | The local udp/tcp port of the packet. |
remote_port | uint32 | The remote udp/tcp port of the packet. |
icmp_type | uint32 | The 1-byte ICMP type identifier. |
icmp_code | uint32 | The 1-byte ICMP code identifier. |
TrafficDirection
Defined in network_trace.proto
Enum values:
Name | Value | Description |
---|---|---|
DIR_UNSPECIFIED | 0 | |
DIR_INGRESS | 1 | |
DIR_EGRESS | 2 |
NetworkPacketBundle
NetworkPacketBundle bundles one or more packets sharing the same attributes.
Defined in network_trace.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | The intern id for looking up the associated packet context. |
ctx | NetworkPacketEvent | The inlined context for events in this bundle. |
packet_timestamps | uint64[] | The timestamp of the i-th packet encoded as the nanoseconds since the enclosing TracePacket's timestamp. |
packet_lengths | uint32[] | The length of the i-th packet in bytes (wire_size - L2_header_size). |
total_packets | uint32 | Total number of packets in the bundle (when above aggregation_threshold). |
total_duration | uint64 | Duration between first and last packet (when above aggregation_threshold). |
total_length | uint64 | Total packet length in bytes (when above aggregation_threshold). |
TrackEventRangeOfInterest
This message specifies the "range of interest" for track events. With the
drop_track_event_data_before
option set to kTrackEventRangeOfInterest
,
Trace Processor drops track events outside of this range.
Defined in range_of_interest.proto
Fields:
Field | Type | Description |
---|---|---|
start_us | int64 |
LayersSnapshotProto
Defined in surfaceflinger_layers.proto
Fields:
Field | Type | Description |
---|---|---|
elapsed_realtime_nanos | sfixed64 | elapsed realtime in nanos since boot of when this entry was logged |
where | string | SurfaceFlinger's stage where the snapshot was triggered. Currently either "visibleRegionsDirty" or "bufferLatched". |
layers | LayersProto | |
hwc_blob | string | Blob for the current HWC information for all layers, reported by dumpsys. Example: "maxDownScale: 4, maxFullWidth: 8192, HWState: 1, AssignedState: 3, ..." |
excludes_composition_state | bool | Excludes state sent during composition like visible region and composition type. |
missed_entries | uint32 | Number of missed entries since the last entry was recorded. |
displays | DisplayProto[] | |
vsync_id | int64 |
LayersProto
Contains a list of all layers.
Defined in surfaceflinger_layers.proto
Fields:
Field | Type | Description |
---|---|---|
layers | LayerProto[] |
LayerProto
Information about each layer.
Defined in surfaceflinger_layers.proto
Fields:
Field | Type | Description |
---|---|---|
id | int32 | unique id per layer. |
name | string | unique name per layer. Example: "Wallpaper". |
children | int32[] | list of children this layer may have. May be empty. |
relatives | int32[] | list of layers that are z order relative to this layer. |
type | string | The type of layer. Examples: "ContainerLayer", "BufferStateLayer". |
transparent_region | RegionProto | |
visible_region | RegionProto | |
damage_region | RegionProto | |
layer_stack | uint32 | |
z | int32 | The layer's z order. Can be z order in layer stack, relative to parent, or relative to another layer specified in zOrderRelative. |
position | PositionProto | The layer's position on the display. |
requested_position | PositionProto | The layer's requested position. |
size | SizeProto | The layer's size. |
crop | RectProto | The layer's crop in its own bounds. |
final_crop | RectProto | The layer's crop in its parent's bounds. |
is_opaque | bool | |
invalidate | bool | |
dataspace | string | Composition states's dataspace. Examples: "STANDARD_BT709", "STANDARD_BT601_625". See full enum in frameworks/native/libs/nativewindow/include/android/data_space.h |
pixel_format | string | Buffer's pixel format Examples: "PIXEL_FORMAT_TRANSLUCENT", "PIXEL_FORMAT_RGBA_8888". See full enum in frameworks/native/libs/ui/include/ui/PixelFormat.h |
color | ColorProto | The layer's actual color. |
requested_color | ColorProto | The layer's requested color. |
flags | uint32 | Can be any combination of hidden = 0x01 opaque = 0x02, secure = 0x80, |
transform | TransformProto | The layer's actual transform |
requested_transform | TransformProto | The layer's requested transform. |
parent | int32 | The parent layer. This value can be null if there is no parent. |
z_order_relative_of | int32 | The layer that this layer has a z order relative to. This value can be null. |
active_buffer | ActiveBufferProto | This value can be null if there's nothing to draw. |
queued_frames | int32 | The number of frames available. |
refresh_pending | bool | |
hwc_frame | RectProto | The layer's composer backend destination frame |
hwc_crop | FloatRectProto | The layer's composer backend source crop |
hwc_transform | int32 | The layer's composer backend transform |
window_type | int32 | |
app_id | int32 | |
hwc_composition_type | HwcCompositionType | The layer's composition type |
is_protected | bool | If it's a buffer layer, indicate if the content is protected |
curr_frame | uint64 | Current frame number being rendered. |
barrier_layer | BarrierLayerProto[] | A list of barriers that the layer is waiting to update state. |
buffer_transform | TransformProto | If active_buffer is not null, record its transform. |
effective_scaling_mode | int32 | |
corner_radius | float | Layer's corner radius. |
metadata | string | Metadata map. May be empty. |
effective_transform | TransformProto | |
source_bounds | FloatRectProto | |
bounds | FloatRectProto | |
screen_bounds | FloatRectProto | |
input_window_info | InputWindowInfoProto | |
corner_radius_crop | FloatRectProto | Crop used to draw the rounded corner. |
shadow_radius | float | length of the shadow to draw around the layer, it may be set on the layer or set by a parent layer. |
color_transform | ColorTransformProto | |
is_relative_of | bool | |
background_blur_radius | int32 | Layer's background blur radius in pixels. |
owner_uid | uint32 | |
blur_regions | BlurRegion[] | Regions of a layer, where blur should be applied. |
is_trusted_overlay | bool | |
requested_corner_radius | float | Corner radius explicitly set on layer rather than inherited |
destination_frame | RectProto | |
original_id | uint32 | |
trusted_overlay | TrustedOverlay |
RegionProto
Defined in surfaceflinger_common.proto
Fields:
Field | Type | Description |
---|---|---|
rect | RectProto[] |
RectProto
Defined in rect.proto
Fields:
Field | Type | Description |
---|---|---|
left | int32 | |
top | int32 | |
right | int32 | |
bottom | int32 |
PositionProto
Defined in surfaceflinger_layers.proto
Fields:
Field | Type | Description |
---|---|---|
x | float | |
y | float |
SizeProto
Defined in surfaceflinger_common.proto
Fields:
Field | Type | Description |
---|---|---|
w | int32 | |
h | int32 |
ColorProto
Defined in surfaceflinger_common.proto
Fields:
Field | Type | Description |
---|---|---|
r | float | |
g | float | |
b | float | |
a | float |
TransformProto
Defined in surfaceflinger_common.proto
Fields:
Field | Type | Description |
---|---|---|
dsdx | float | |
dtdx | float | |
dsdy | float | |
dtdy | float | |
type | int32 |
ActiveBufferProto
Defined in surfaceflinger_layers.proto
Fields:
Field | Type | Description |
---|---|---|
width | uint32 | |
height | uint32 | |
stride | uint32 | |
format | int32 | |
usage | uint64 |
FloatRectProto
Defined in surfaceflinger_layers.proto
Fields:
Field | Type | Description |
---|---|---|
left | float | |
top | float | |
right | float | |
bottom | float |
HwcCompositionType
Must match definition in the IComposerClient HAL
Defined in surfaceflinger_layers.proto
Enum values:
Name | Value | Description |
---|---|---|
HWC_TYPE_UNSPECIFIED | 0 | Invalid composition type |
HWC_TYPE_CLIENT | 1 | Layer was composited by the client into the client target buffer |
HWC_TYPE_DEVICE | 2 | Layer was composited by the device through hardware overlays |
HWC_TYPE_SOLID_COLOR | 3 | Layer was composited by the device using a color |
HWC_TYPE_CURSOR | 4 | Similar to DEVICE, but the layer position may have been asynchronously set through setCursorPosition |
HWC_TYPE_SIDEBAND | 5 | Layer was composited by the device via a sideband stream |
HWC_TYPE_DISPLAY_DECORATION | 6 | Layer was composited by hardware optimized for display decoration |
BarrierLayerProto
Defined in surfaceflinger_layers.proto
Fields:
Field | Type | Description |
---|---|---|
id | int32 | layer id the barrier is waiting on. |
frame_number | uint64 | frame number the barrier is waiting on. |
InputWindowInfoProto
Defined in surfaceflinger_common.proto
Fields:
Field | Type | Description |
---|---|---|
layout_params_flags | uint32 | |
layout_params_type | int32 | |
frame | RectProto | |
touchable_region | RegionProto | |
surface_inset | int32 | |
visible | bool | |
can_receive_keys | bool | |
focusable | bool | |
has_wallpaper | bool | |
global_scale_factor | float | |
window_x_scale | float | |
window_y_scale | float | |
crop_layer_id | int32 | |
replace_touchable_region_with_crop | bool | |
touchable_region_crop | RectProto | |
transform | TransformProto | |
input_config | uint32 |
ColorTransformProto
Defined in surfaceflinger_common.proto
Fields:
Field | Type | Description |
---|---|---|
val | float[] | This will be a 4x4 matrix of float values |
BlurRegion
Defined in surfaceflinger_common.proto
Fields:
Field | Type | Description |
---|---|---|
blur_radius | uint32 | |
corner_radius_tl | uint32 | |
corner_radius_tr | uint32 | |
corner_radius_bl | uint32 | |
corner_radius_br | float | |
alpha | float | |
left | int32 | |
top | int32 | |
right | int32 | |
bottom | int32 |
TrustedOverlay
Defined in surfaceflinger_common.proto
Enum values:
Name | Value | Description |
---|---|---|
UNSET | 0 | |
DISABLED | 1 | |
ENABLED | 2 |
DisplayProto
Defined in surfaceflinger_layers.proto
Fields:
Field | Type | Description |
---|---|---|
id | uint64 | |
name | string | Display descriptor, e.g. "Built-In Screen" |
layer_stack | uint32 | |
size | SizeProto | |
layer_stack_space_rect | RectProto | |
transform | TransformProto | |
is_virtual | bool | |
dpi_x | double | |
dpi_y | double |
TransactionTraceEntry
Defined in surfaceflinger_transactions.proto
Fields:
Field | Type | Description |
---|---|---|
elapsed_realtime_nanos | int64 | |
vsync_id | int64 | |
transactions | TransactionState[] | |
added_layers | LayerCreationArgs[] | |
destroyed_layers | uint32[] | |
added_displays | DisplayState[] | |
removed_displays | int32[] | |
destroyed_layer_handles | uint32[] | |
displays_changed | bool | |
displays | DisplayInfo[] |
TransactionState
Defined in surfaceflinger_transactions.proto
Fields:
Field | Type | Description |
---|---|---|
pid | int32 | |
uid | int32 | |
vsync_id | int64 | |
input_event_id | int32 | |
post_time | int64 | |
transaction_id | uint64 | |
layer_changes | LayerState[] | |
display_changes | DisplayState[] | |
merged_transaction_ids | uint64[] |
LayerState
Keep insync with layer_state_t
Defined in surfaceflinger_transactions.proto
Fields:
Field | Type | Description |
---|---|---|
layer_id | uint32 | |
what | uint64 | |
x | float | |
y | float | |
z | int32 | |
w | uint32 | |
h | uint32 | |
layer_stack | uint32 | |
flags | uint32 | |
mask | uint32 | |
matrix | Matrix22 | |
corner_radius | float | |
background_blur_radius | uint32 | |
parent_id | uint32 | |
relative_parent_id | uint32 | |
alpha | float | |
color | Color3 | |
transparent_region | RegionProto | |
transform | uint32 | |
transform_to_display_inverse | bool | |
crop | RectProto | |
buffer_data | BufferData | |
api | int32 | |
has_sideband_stream | bool | |
color_transform | ColorTransformProto | |
blur_regions | BlurRegion[] | |
window_info_handle | WindowInfo | |
bg_color_alpha | float | |
bg_color_dataspace | int32 | |
color_space_agnostic | bool | |
shadow_radius | float | |
frame_rate_selection_priority | int32 | |
frame_rate | float | |
frame_rate_compatibility | int32 | |
change_frame_rate_strategy | int32 | |
fixed_transform_hint | uint32 | |
frame_number | uint64 | |
auto_refresh | bool | |
is_trusted_overlay | bool | unused |
buffer_crop | RectProto | |
destination_frame | RectProto | |
drop_input_mode | DropInputMode | |
trusted_overlay | TrustedOverlay |
LayerState.Matrix22
Defined in surfaceflinger_transactions.proto
Fields:
Field | Type | Description |
---|---|---|
dsdx | float | |
dtdx | float | |
dtdy | float | |
dsdy | float |
LayerState.Color3
Defined in surfaceflinger_transactions.proto
Fields:
Field | Type | Description |
---|---|---|
r | float | |
g | float | |
b | float |
LayerState.BufferData
Defined in surfaceflinger_transactions.proto
Fields:
Field | Type | Description |
---|---|---|
buffer_id | uint64 | |
width | uint32 | |
height | uint32 | |
frame_number | uint64 | |
flags | uint32 | |
cached_buffer_id | uint64 | |
pixel_format | PixelFormat | |
usage | uint64 |
LayerState.BufferData.PixelFormat
Defined in surfaceflinger_transactions.proto
Enum values:
Name | Value | Description |
---|---|---|
PIXEL_FORMAT_UNKNOWN | 0 | |
PIXEL_FORMAT_CUSTOM | -4 | |
PIXEL_FORMAT_TRANSLUCENT | -3 | |
PIXEL_FORMAT_TRANSPARENT | -2 | |
PIXEL_FORMAT_OPAQUE | -1 | |
PIXEL_FORMAT_RGBA_8888 | 1 | |
PIXEL_FORMAT_RGBX_8888 | 2 | |
PIXEL_FORMAT_RGB_888 | 3 | |
PIXEL_FORMAT_RGB_565 | 4 | |
PIXEL_FORMAT_BGRA_8888 | 5 | |
PIXEL_FORMAT_RGBA_5551 | 6 | |
PIXEL_FORMAT_RGBA_4444 | 7 | |
PIXEL_FORMAT_RGBA_FP16 | 22 | |
PIXEL_FORMAT_RGBA_1010102 | 43 | |
PIXEL_FORMAT_R_8 | 56 |
LayerState.WindowInfo
Defined in surfaceflinger_transactions.proto
Fields:
Field | Type | Description |
---|---|---|
layout_params_flags | uint32 | |
layout_params_type | int32 | |
touchable_region | RegionProto | |
surface_inset | int32 | |
focusable | bool | unused |
has_wallpaper | bool | unused |
global_scale_factor | float | |
crop_layer_id | uint32 | |
replace_touchable_region_with_crop | bool | |
touchable_region_crop | RectProto | |
transform | Transform | |
input_config | uint32 |
Transform
Defined in surfaceflinger_transactions.proto
Fields:
Field | Type | Description |
---|---|---|
dsdx | float | |
dtdx | float | |
dtdy | float | |
dsdy | float | |
tx | float | |
ty | float |
LayerState.DropInputMode
Defined in surfaceflinger_transactions.proto
Enum values:
Name | Value | Description |
---|---|---|
NONE | 0 | |
ALL | 1 | |
OBSCURED | 2 |
DisplayState
Defined in surfaceflinger_transactions.proto
Fields:
Field | Type | Description |
---|---|---|
id | int32 | |
what | uint32 | |
flags | uint32 | |
layer_stack | uint32 | |
orientation | uint32 | |
layer_stack_space_rect | RectProto | |
oriented_display_space_rect | RectProto | |
width | uint32 | |
height | uint32 |
LayerCreationArgs
Defined in surfaceflinger_transactions.proto
Fields:
Field | Type | Description |
---|---|---|
layer_id | uint32 | |
name | string | |
flags | uint32 | |
parent_id | uint32 | |
mirror_from_id | uint32 | |
add_to_root | bool | |
layer_stack_to_mirror | uint32 |
DisplayInfo
Defined in surfaceflinger_transactions.proto
Fields:
Field | Type | Description |
---|---|---|
layer_stack | uint32 | |
display_id | int32 | |
logical_width | int32 | |
logical_height | int32 | |
transform_inverse | Transform | |
transform | Transform | |
receives_input | bool | |
is_secure | bool | |
is_primary | bool | |
is_virtual | bool | |
rotation_flags | int32 | |
transform_hint | int32 |
ShellTransition
ShellTransition messages record information about the shell transitions in the system. This is used to track the animations that are created and execute through the shell transition system.
Defined in shell_transition.proto
Fields:
Field | Type | Description |
---|---|---|
id | int32 | The unique identifier of the transition. |
create_time_ns | int64 | The time the transition was created on the WM side (using SystemClock.elapsedRealtimeNanos()) |
send_time_ns | int64 | The time the transition was sent from the WM side to shell (using SystemClock.elapsedRealtimeNanos()) |
dispatch_time_ns | int64 | The time the transition was dispatched by shell to execute (using SystemClock.elapsedRealtimeNanos()) |
merge_time_ns | int64 | If the transition merge was accepted by the transition handler, this contains the time the transition was merged into transition with id merge_target .(using SystemClock.elapsedRealtimeNanos()) |
merge_request_time_ns | int64 | The time shell proposed the transition should be merged to the transition handler into transition with id merge_target .(using SystemClock.elapsedRealtimeNanos()). |
shell_abort_time_ns | int64 | If the transition was aborted on the shell side, this is the time that occurred. (using SystemClock.elapsedRealtimeNanos()) |
wm_abort_time_ns | int64 | If the transition was aborted on the wm side, this is the time that occurred. (using SystemClock.elapsedRealtimeNanos()) |
finish_time_ns | int64 | The time WM considers the transition to be complete. (using SystemClock.elapsedRealtimeNanos()) |
start_transaction_id | uint64 | The id of the transaction that WM proposed to use as the starting transaction. It contains all the layer changes required to setup the transition and should be executed right at the start of the transition by the transition handler. |
finish_transaction_id | uint64 | The if of the transaction that WM proposed to use as the finish transaction. It contains all the layer changes required to set the final state of the transition. |
handler | int32 | The id of the handler that executed the transition. A HandlerMappings message in the trace will contain the mapping of id to a string representation of the handler. |
type | int32 | The transition type of this transition (e.g. TO_FRONT, OPEN, CLOSE). |
targets | Target[] | The list of targets that are part of this transition. |
merge_target | int32 | The id of the transition we have requested to merge or have merged this transition into. |
flags | int32 | The flags set on this transition. |
starting_window_remove_time_ns | int64 | The time the starting window was removed. Tracked because this can happen after the transition finishes, but the app may not yet be visible until the starting window is removed. So in a sense the transition is not finished until the starting window is removed. (b/284302118) (using SystemClock.elapsedRealtimeNanos()) |
ShellTransition.Target
Contains the information about the windows targeted in a transition.
Defined in shell_transition.proto
Fields:
Field | Type | Description |
---|---|---|
mode | int32 | The transition mode of this target (e.g. TO_FRONT, CLOSE...) |
layer_id | int32 | The layer id of this target. |
window_id | int32 | The window id of this target. |
flags | int32 | The flags set on this target. |
ShellHandlerMappings
Contains mappings from handler ids to string representation of the handlers.
Defined in shell_transition.proto
Fields:
Field | Type | Description |
---|---|---|
mapping | ShellHandlerMapping[] |
ShellHandlerMapping
Defined in shell_transition.proto
Fields:
Field | Type | Description |
---|---|---|
id | int32 | The id of the handler used in the ShellTransition message. |
name | string | A human readable and meaningful string representation of the handler. |
ProtoLogMessage
represents a single log entry
Defined in protolog.proto
Fields:
Field | Type | Description |
---|---|---|
message_id | fixed64 | log statement identifier, created from message string and log level. |
str_param_iids | uint32[] | string parameters passed to the log call that have been interned. |
sint64_params | sint64[] | integer parameters passed to the log call. |
double_params | double[] | floating point parameters passed to the log call. |
boolean_params | int32[] | boolean parameters passed to the log call. |
stacktrace_iid | uint32 | id of the interned stacktrace string (only dumped if explicitly confuigured to do so) |
ProtoLogViewerConfig
contains all the data required to fully decode the protolog messages
Defined in protolog.proto
Fields:
Field | Type | Description |
---|---|---|
messages | MessageData[] | |
groups | Group[] |
ProtoLogViewerConfig.MessageData
Defined in protolog.proto
Fields:
Field | Type | Description |
---|---|---|
message_id | fixed64 | the id of the message that is logged in a ProtoLogMessage |
message | string | the string representation of the message |
level | ProtoLogLevel | the level of the message |
group_id | uint32 | the id of the log group this message belongs to |
location | string | path to the file where the message was logged |
ProtoLogLevel
Defined in protolog_common.proto
Enum values:
Name | Value | Description |
---|---|---|
PROTOLOG_LEVEL_UNDEFINED | 0 | |
PROTOLOG_LEVEL_DEBUG | 1 | |
PROTOLOG_LEVEL_VERBOSE | 2 | |
PROTOLOG_LEVEL_INFO | 3 | |
PROTOLOG_LEVEL_WARN | 4 | |
PROTOLOG_LEVEL_ERROR | 5 | |
PROTOLOG_LEVEL_WTF | 6 |
ProtoLogViewerConfig.Group
information about a ProtoLog log group
Defined in protolog.proto
Fields:
Field | Type | Description |
---|---|---|
id | uint32 | |
name | string | |
tag | string |
WinscopeExtensions
Defined in winscope_extensions.proto
Fields:
Field | Type | Description |
---|
EtwTraceEventBundle
The result of tracing one or more etw event uses per-processor buffers where an in-use buffer is assigned to each processor at all times. Therefore, collecting multiple events they should already be synchronized.
Defined in etw_event_bundle.proto
Fields:
Field | Type | Description |
---|---|---|
cpu | uint32 | |
event | EtwTraceEvent[] |
EtwTraceEvent
Defined in etw_event.proto
Fields:
Field | Type | Description |
---|---|---|
timestamp | uint64 | |
cpu | uint32 | |
c_switch | CSwitchEtwEvent | |
ready_thread | ReadyThreadEtwEvent |
CSwitchEtwEvent
Proto definition based on the Thread_v2 CSwitch class definition See: https://learn.microsoft.com/en-us/windows/win32/etw/cswitch
Defined in etw.proto
Fields:
Field | Type | Description |
---|---|---|
new_thread_id | uint32 | New thread ID after the switch. |
old_thread_id | uint32 | Previous thread ID. |
new_thread_priority | sint32 | Thread priority of the new thread. |
old_thread_priority | sint32 | Thread priority of the previous thread. |
previous_c_state | uint32 | The index of the C-state that was last used by the processor. A value of 0 represents the lightest idle state with higher values representing deeper C-states. |
old_thread_wait_reason | OldThreadWaitReason | |
old_thread_wait_mode | OldThreadWaitMode | |
old_thread_state | OldThreadState | |
old_thread_wait_ideal_processor | sint32 | Ideal wait time of the previous thread. |
new_thread_wait_time | uint32 | Wait time for the new thread. |
CSwitchEtwEvent.OldThreadWaitReason
Wait reason for the previous thread. The ordering is important as based on the OldThreadWaitReason definition from the link above. The following are the possible values:
Defined in etw.proto
Enum values:
Name | Value | Description |
---|---|---|
EXECUTIVE | 0 | |
FREE_PAGE | 1 | |
PAGE_IN | 2 | |
POOL_ALLOCATION | 3 | |
DELAY_EXECUTION | 4 | |
SUSPEND | 5 | |
USER_REQUEST | 6 | |
WR_EXECUTIVE | 7 | |
WR_FREE_PAGE | 8 | |
WR_PAGE_IN | 9 | |
WR_POOL_ALLOCATION | 10 | |
WR_DELAY_EXECUTION | 11 | |
WR_SUSPENDED | 12 | |
WR_USER_REQUEST | 13 | |
WR_EVENT_PAIR | 14 | |
WR_QUEUE | 15 | |
WR_LPC_RECEIVER | 16 | |
WR_LPC_REPLY | 17 | |
WR_VIRTUAL_MEMORY | 18 | |
WR_PAGE_OUT | 19 | |
WR_RENDEZ_VOUS | 20 | |
WR_KEYED_EVENT | 21 | |
WR_TERMINATED | 22 | |
WR_PROCESS_IN_SWAP | 23 | |
WR_CPU_RATE_CONTROL | 24 | |
WR_CALLOUT_STACK | 25 | |
WR_KERNEL | 26 | |
WR_RESOURCE | 27 | |
WR_PUSH_LOCK | 28 | |
WR_MUTEX | 29 | |
WR_QUANTUM_END | 30 | |
WR_DISPATCH_INT | 31 | |
WR_PREEMPTED | 32 | |
WR_YIELD_EXECUTION | 33 | |
WR_FAST_MUTEX | 34 | |
WR_GUARD_MUTEX | 35 | |
WR_RUNDOWN | 36 | |
MAXIMUM_WAIT_REASON | 37 |
CSwitchEtwEvent.OldThreadWaitMode
Wait mode for the previous thread. The ordering is important as based on the OldThreadWaitMode definition from the link above. The following are the possible values:
Defined in etw.proto
Enum values:
Name | Value | Description |
---|---|---|
KERNEL_MODE | 0 | |
USER_MODE | 1 |
CSwitchEtwEvent.OldThreadState
State of the previous thread. The ordering is important as based on the OldThreadState definition from the link above. The following are the possible state values:
Defined in etw.proto
Enum values:
Name | Value | Description |
---|---|---|
INITIALIZED | 0 | |
READY | 1 | |
RUNNING | 2 | |
STANDBY | 3 | |
TERMINATED | 4 | |
WAITING | 5 | |
TRANSITION | 6 | |
DEFERRED_READY | 7 |
ReadyThreadEtwEvent
Proto definition based on the Thread_v2 CSwitch class definition See: https://learn.microsoft.com/en-us/windows/win32/etw/readythread
Defined in etw.proto
Fields:
Field | Type | Description |
---|---|---|
t_thread_id | uint32 | The thread identifier of the thread being readied for execution. |
adjust_reason | AdjustReason | |
adjust_increment | sint32 | The value by which the priority is being adjusted. |
flag | TraceFlag |
ReadyThreadEtwEvent.AdjustReason
The reason for the priority boost. The ordering is important as based on the AdjustReason definition from the link above.
Defined in etw.proto
Enum values:
Name | Value | Description |
---|---|---|
IGNORE_THE_INCREMENT | 0 | |
APPLY_INCREMENT | 1 | Apply the increment, which will decay incrementally at the end of each quantum. |
APPLY_INCREMENT_BOOST | 2 | Apply the increment as a boost that will decay in its entirety at quantum (typically for priority donation). |
ReadyThreadEtwEvent.TraceFlag
Defined in etw.proto
Enum values:
Name | Value | Description |
---|---|---|
TRACE_FLAG_UNSPECIFIED | 0 | |
THREAD_READIED | 1 | The thread has been readied from DPC (deferred procedure call). |
KERNEL_STACK_SWAPPED_OUT | 2 | The kernel stack is currently swapped out. |
PROCESS_ADDRESS_SWAPPED_OUT | 4 | The process address space is swapped out. |
V8JsCode
Defined in v8.proto
Fields:
Field | Type | Description |
---|---|---|
v8_isolate_iid | uint64 | |
tid | uint32 | |
v8_js_function_iid | uint64 | |
tier | Tier | |
instruction_start | uint64 | |
instruction_size_bytes | uint64 | |
machine_code | bytes | |
bytecode | bytes |
V8JsCode.Tier
Defined in v8.proto
Enum values:
Name | Value | Description |
---|---|---|
TIER_UNKNOWN | 0 | |
TIER_IGNITION | 1 | |
TIER_SPARKPLUG | 2 | |
TIER_MAGLEV | 3 | |
TIER_TURBOSHAFT | 4 | |
TIER_TURBOFAN | 5 |
V8InternalCode
Defined in v8.proto
Fields:
Field | Type | Description |
---|---|---|
v8_isolate_iid | uint64 | |
tid | uint32 | |
name | string | |
type | Type | |
builtin_id | int32 | |
instruction_start | uint64 | |
instruction_size_bytes | uint64 | |
machine_code | bytes |
V8InternalCode.Type
Defined in v8.proto
Enum values:
Name | Value | Description |
---|---|---|
TYPE_UNKNOWN | 0 | |
TYPE_BYTECODE_HANDLER | 1 | |
TYPE_FOR_TESTING | 2 | |
TYPE_BUILTIN | 3 | |
TYPE_WASM_FUNCTION | 4 | |
TYPE_WASM_TO_CAPI_FUNCTION | 5 | |
TYPE_WASM_TO_JS_FUNCTION | 6 | |
TYPE_JS_TO_WASM_FUNCTION | 7 | |
TYPE_JS_TO_JS_FUNCTION | 8 | |
TYPE_C_WASM_ENTRY | 9 |
V8WasmCode
Defined in v8.proto
Fields:
Field | Type | Description |
---|---|---|
v8_isolate_iid | uint64 | |
tid | uint32 | |
v8_wasm_script_iid | uint64 | |
function_name | string | |
tier | Tier | |
code_offset_in_module | int32 | |
instruction_start | uint64 | |
instruction_size_bytes | uint64 | |
machine_code | bytes |
V8WasmCode.Tier
Defined in v8.proto
Enum values:
Name | Value | Description |
---|---|---|
TIER_UNKNOWN | 0 | |
TIER_LIFTOFF | 1 | |
TIER_TURBOFAN | 2 |
V8RegExpCode
Defined in v8.proto
Fields:
Field | Type | Description |
---|---|---|
v8_isolate_iid | uint64 | |
tid | uint32 | |
pattern | V8String | |
instruction_start | uint64 | |
instruction_size_bytes | uint64 | |
machine_code | bytes |
V8String
Strings used by V8 can have different encodings, instead of coverting to a common encoding (e.g. UTF-8) on device is expensive. Instead we send the "raw" string and do the convestion at trace ingestion time.
ATTENTION: There is some overhead in using a message (as opossed to having the `oneof encoded_string`` direcly embedded in the message), so use this message in places were these extra bytes don't matter that much.
Defined in v8.proto
Fields:
Field | Type | Description |
---|---|---|
latin1 | bytes | ISO/IEC 8859-1:1998 encoding aka latin1 https://en.wikipedia.org/wiki/ISO/IEC_8859-1 |
utf16_le | bytes | UTF-16 Little Endian Encoding |
utf16_be | bytes | UTF-16 Big Endian Encoding |
V8CodeMove
Move event for V8 code (JS / Wasm / Internal / Regexp) that was relocated in memory by V8's GC.
Defined in v8.proto
Fields:
Field | Type | Description |
---|---|---|
isolate_iid | uint64 | |
tid | uint32 | |
from_instruction_start_address | uint64 | |
to_instruction_start_address | uint64 | |
instruction_size_bytes | uint64 | |
to_machine_code | bytes | |
to_bytecode | bytes |
RemoteClockSync
Records the parameters for aligning clock readings between machines.
Defined in remote_clock_sync.proto
Fields:
Field | Type | Description |
---|---|---|
synced_clocks | SyncedClocks[] |
RemoteClockSync.SyncedClocks
Synchronized clock snapshots taken on both sides of the relay port (the tracing service and the relay service). A round of clock synchronization IPC takes emits 2 SyncedClocks messages, i.e., client snapshot -> host snapshot -> client snapshot -> host snapshot.
Defined in remote_clock_sync.proto
Fields:
Field | Type | Description |
---|---|---|
client_clocks | ClockSnapshot | |
host_clocks | ClockSnapshot |
PixelModemEvents
Defined in pixel_modem_events.proto
Fields:
Field | Type | Description |
---|---|---|
events | bytes[] | Pigweed-format dehydrated events. |
event_time_nanos | uint64[] | Timestamps of the events, converted to CLOCK_BOOTTIME. The first timestamp is the absolute timestamp of the first event. Subsequent timestamps are deltas from the previous timestamp. The nth entry from events gets the nth entry here. |
PixelModemTokenDatabase
NB: this is not emitted in the trace but can be prepended later.
Defined in pixel_modem_events.proto
Fields:
Field | Type | Description |
---|---|---|
database | bytes | Pigweed-format database to allow event rehydration. |
TestEvent
Event used by testing code.
Defined in test_event.proto
Fields:
Field | Type | Description |
---|---|---|
str | string | Arbitrary string used in tests. |
seq_value | uint32 | The current value of the random number sequence used in tests. |
counter | uint64 | Monotonically increased on each packet. |
is_last | bool | No more packets should follow (from the current sequence). |
payload | TestPayload |
TestEvent.TestPayload
Defined in test_event.proto
Fields:
Field | Type | Description |
---|---|---|
str | string[] | |
nested | TestPayload[] | |
single_string | string | |
single_int | int32 | |
repeated_ints | int32[] | |
remaining_nesting_depth | uint32 | When 0 this is the bottom-most nested message. |
debug_annotations | DebugAnnotation[] |
InternedData
Message that contains new entries for the interning indices of a packet sequence.
The writer will usually emit new entries in the same TracePacket that first refers to them (since the last reset of interning state). They may also be emitted proactively in advance of referring to them in later packets.
Defined in interned_data.proto
Fields:
Field | Type | Description |
---|---|---|
event_categories | EventCategory[] | Each field's message type needs to specify an iid field, which is the ID of the entry in the field's interning index. Each field constructs its own index, thus interning IDs are scoped to the tracing session and field (usually as a counter for efficient var-int encoding), and optionally to the incremental state generation of the packet sequence. |
event_names | EventName[] | |
debug_annotation_names | DebugAnnotationName[] | |
debug_annotation_value_type_names | DebugAnnotationValueTypeName[] | |
source_locations | SourceLocation[] | |
unsymbolized_source_locations | UnsymbolizedSourceLocation[] | |
log_message_body | LogMessageBody[] | |
histogram_names | HistogramName[] | |
build_ids | InternedString[] | Build IDs of exectuable files. |
mapping_paths | InternedString[] | Paths to executable files. |
source_paths | InternedString[] | Paths to source files. |
function_names | InternedString[] | Names of functions used in frames below. |
profiled_frame_symbols | ProfiledFrameSymbols[] | Symbols that were added to this trace after the fact. |
mappings | Mapping[] | Executable files mapped into processes. |
frames | Frame[] | Frames of callstacks of a program. |
callstacks | Callstack[] | A callstack of a program. |
vulkan_memory_keys | InternedString[] | Additional Vulkan information sent in a VulkanMemoryEvent message |
graphics_contexts | InternedGraphicsContext[] | Graphics context of a render stage event. This represent the GL context for an OpenGl app or the VkDevice for a Vulkan app. |
gpu_specifications | InternedGpuRenderStageSpecification[] | Description of a GPU hardware queue or render stage. |
kernel_symbols | InternedString[] | This is set when FtraceConfig.symbolize_ksyms = true. The id of each symbol the number that will be reported in ftrace events like sched_block_reason.caller and is obtained from a monotonic counter. The same symbol can have different indexes in different bundles. This is is NOT the real address. This is to avoid disclosing KASLR through traces. |
debug_annotation_string_values | InternedString[] | Interned string values in the DebugAnnotation proto. |
packet_context | NetworkPacketContext[] | Interned packet context for android.network_packets. |
v8_js_function_name | InternedV8String[] | Interned name of a js function. We only intern js functions as there is a lot of duplication for them, but less so for other strings in the V8 data source. |
v8_js_function | InternedV8JsFunction[] | Js functions can be emitted multiple times for various compilation tiers, so it makes sense to deduplicate all this. |
v8_js_script | InternedV8JsScript[] | Interned JS script (there is one associated with each JS function) |
v8_wasm_script | InternedV8WasmScript[] | Interned Wasm script (there is one associated with each Wasm function) |
v8_isolate | InternedV8Isolate[] | Every V8 event is associated with an isolate, intern the isolate to remove duplication. |
protolog_string_args | InternedString[] | Interned protolog strings args. |
protolog_stacktrace | InternedString[] | Interned protolog stacktraces. |
viewcapture_package_name | InternedString[] | viewcapture |
viewcapture_window_name | InternedString[] | |
viewcapture_view_id | InternedString[] | |
viewcapture_class_name | InternedString[] |
EventCategory
Defined in track_event.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
name | string |
EventName
Defined in track_event.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
name | string |
DebugAnnotationName
Defined in debug_annotation.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
name | string |
DebugAnnotationValueTypeName
See the proto_type_descriptor
comment.
Defined in debug_annotation.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
name | string |
UnsymbolizedSourceLocation
A source location, represented as a native symbol.
This is similar to message Frame
from
protos/perfetto/trace/profiling/profile_common.proto, but for abitrary
source code locations (for example in track event args), not stack frames.
Defined in source_location.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
mapping_id | uint64 | |
rel_pc | uint64 |
LogMessageBody
Defined in log_message.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
body | string |
HistogramName
Defined in chrome_histogram_sample.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
name | string |
InternedGraphicsContext
The iid is the numeric value of either the GL Context or the VkDevice handle.
Defined in gpu_render_stage_event.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
pid | int32 | |
api | Api |
InternedGraphicsContext.Api
Defined in gpu_render_stage_event.proto
Enum values:
Name | Value | Description |
---|---|---|
UNDEFINED | 0 | |
OPEN_GL | 1 | |
VULKAN | 2 | |
OPEN_CL | 3 |
InternedGpuRenderStageSpecification
Defined in gpu_render_stage_event.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
name | string | |
description | string | |
category | RenderStageCategory |
InternedGpuRenderStageSpecification.RenderStageCategory
Defined in gpu_render_stage_event.proto
Enum values:
Name | Value | Description |
---|---|---|
OTHER | 0 | |
GRAPHICS | 1 | |
COMPUTE | 2 |
NetworkPacketContext
An internable packet context.
Defined in network_trace.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
ctx | NetworkPacketEvent |
InternedV8String
Interned version of V8String
Defined in v8.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
latin1 | bytes | ISO/IEC 8859-1:1998 encoding aka latin1 https://en.wikipedia.org/wiki/ISO/IEC_8859-1 |
utf16_le | bytes | UTF-16 Little Endian Encoding |
utf16_be | bytes | UTF-16 Big Endian Encoding |
InternedV8JsFunction
Defined in v8.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
v8_js_function_name_iid | uint64 | |
v8_js_script_iid | uint64 | |
is_toplevel | bool | |
kind | Kind | |
byte_offset | uint32 | Where in the script source this function is defined. This is counted in bytes not characters. |
InternedV8JsFunction.Kind
Defined in v8.proto
Enum values:
Name | Value | Description |
---|---|---|
KIND_UNKNOWN | 0 | |
KIND_NORMAL_FUNCTION | 1 | |
KIND_MODULE | 2 | |
KIND_ASYNC_MODULE | 3 | |
KIND_BASE_CONSTRUCTOR | 4 | |
KIND_DEFAULT_BASE_CONSTRUCTOR | 5 | |
KIND_DEFAULT_DERIVED_CONSTRUCTOR | 6 | |
KIND_DERIVED_CONSTRUCTOR | 7 | |
KIND_GETTER_FUNCTION | 8 | |
KIND_STATIC_GETTER_FUNCTION | 9 | |
KIND_SETTER_FUNCTION | 10 | |
KIND_STATIC_SETTER_FUNCTION | 11 | |
KIND_ARROW_FUNCTION | 12 | |
KIND_ASYNC_ARROW_FUNCTION | 13 | |
KIND_ASYNC_FUNCTION | 14 | |
KIND_ASYNC_CONCISE_METHOD | 15 | |
KIND_STATIC_ASYNC_CONCISE_METHOD | 16 | |
KIND_ASYNC_CONCISE_GENERATOR_METHOD | 17 | |
KIND_STATIC_ASYNC_CONCISE_GENERATOR_METHOD | 18 | |
KIND_ASYNC_GENERATOR_FUNCTION | 19 | |
KIND_GENERATOR_FUNCTION | 20 | |
KIND_CONCISE_GENERATOR_METHOD | 21 | |
KIND_STATIC_CONCISE_GENERATOR_METHOD | 22 | |
KIND_CONCISE_METHOD | 23 | |
KIND_STATIC_CONCISE_METHOD | 24 | |
KIND_CLASS_MEMBERS_INITIALIZER_FUNCTION | 25 | |
KIND_CLASS_STATIC_INITIALIZER_FUNCTION | 26 | |
KIND_INVALID | 27 |
InternedV8JsScript
Represents a script that was compiled to generate code. Some V8 code is generated out of scripts and will reference a V8Script other types of code will not (e.g. builtins).
Defined in v8.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
script_id | int32 | Unique in a given isolate |
type | Type | |
name | V8String | |
source | V8String | Actual source of the script |
InternedV8JsScript.Type
Defined in v8.proto
Enum values:
Name | Value | Description |
---|---|---|
TYPE_UNKNOWN | 0 | |
TYPE_NORMAL | 1 | |
TYPE_EVAL | 2 | |
TYPE_MODULE | 3 | |
TYPE_NATIVE | 4 | |
TYPE_EXTENSION | 5 | |
TYPE_INSPECTOR | 6 |
InternedV8WasmScript
Defined in v8.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
script_id | int32 | Unique in a given isolate |
url | string |
InternedV8Isolate
A V8 Isolate instance. A V8 Isolate represents an isolated instance of the V8 engine.
Defined in v8.proto
Fields:
Field | Type | Description |
---|---|---|
iid | uint64 | |
pid | uint32 | |
isolate_id | int32 | Process unique isolate id. |
code_range | CodeRange | |
embedded_blob_code_start_address | uint64 | The embedded blob holds code for built in functions that are precompiled in the V8 library. |
embedded_blob_code_size | uint64 |
InternedV8Isolate.CodeRange
A code range is a virtual memory cage that may contain executable code. Depending on the Isolate settings the Isolate might have one or not. See: https://source.chromium.org/chromium/chromium/src/+/main:v8/src/heap/code-range.h If the isolate defines code range this will be tracked here.
Defined in v8.proto
Fields:
Field | Type | Description |
---|---|---|
base_address | uint64 | |
size | uint64 | |
embedded_blob_code_copy_start_address | uint64 | Used when short builtin calls are enabled, where embedded builtins are copied into the CodeRange so calls can be nearer. |
is_process_wide | bool | Whether this code range is shared with other Isolates in the same process |
TracePacketDefaults
Default values for TracePacket fields that hold for a particular TraceWriter
packet sequence. This message contains a subset of the TracePacket fields
with matching IDs. When provided, these fields define the default values
that should be applied, at import time, to all TracePacket(s) with the same
trusted_packet_sequence_id
, unless otherwise specified in each packet.
Should be reemitted whenever incremental state is cleared on the sequence.
Defined in trace_packet_defaults.proto
Fields:
Field | Type | Description |
---|---|---|
timestamp_clock_id | uint32 | |
track_event_defaults | TrackEventDefaults | Default values for TrackEvents (e.g. default track). |
perf_sample_defaults | PerfSampleDefaults | Defaults for perf profiler packets (PerfSample). |
v8_code_defaults | V8CodeDefaults | Defaults for V8 code packets (V8JsCode, V8InternalCode, V8WasmCode, V8RegexpCode) |
TrackEventDefaults
Default values for fields of all TrackEvents on the same packet sequence. Should be emitted as part of TracePacketDefaults whenever incremental state is cleared. It's defined here because field IDs should match those of the corresponding fields in TrackEvent.
Defined in track_event.proto
Fields:
Field | Type | Description |
---|---|---|
track_uuid | uint64 | |
extra_counter_track_uuids | uint64[] | |
extra_double_counter_track_uuids | uint64[] |
PerfSampleDefaults
Submessage for TracePacketDefaults.
Defined in profile_packet.proto
Fields:
Field | Type | Description |
---|---|---|
timebase | PerfEvents.Timebase | The sampling timebase. Might not be identical to the data source config if the implementation decided to default/override some parameters. |
followers | FollowerEvent[] | Description of followers event |
process_shard_count | uint32 | If the config requested process sharding, report back the count and which of those bins was selected. Never changes for the duration of a trace. |
chosen_process_shard | uint32 |
PerfEvents.Timebase
What event to sample on, and how often. Commented from the perspective of
its use in PerfEventConfig
.
Defined in perf_events.proto
Fields:
Field | Type | Description |
---|---|---|
frequency | uint64 | Per-cpu sampling frequency in Hz, as requested from the kernel. Not the same as 1/period. Details: the actual sampling will still be based on a period, but the kernel will dynamically adjust it based on the observed event rate, to approximate this frequency. Works best with steady-rate events like timers. |
period | uint64 | Per-cpu sampling will occur every period counts of event .Prefer frequency by default, as it's easier to oversample with a fixed period. |
counter | Counter | |
tracepoint | Tracepoint | |
raw_event | RawEvent | |
timestamp_clock | PerfClock | If set, samples will be timestamped with the given clock. If unset, the clock is chosen by the implementation. For software events, prefer PERF_CLOCK_BOOTTIME. However it cannot be used for hardware events (due to interrupt safety), for which the recommendation is to use one of the monotonic clocks. |
name | string | Optional arbitrary name for the event, to identify it in the parsed trace. Does not affect the profiling itself. If unset, the trace parser will choose a suitable name. |
PerfEvents.Counter
Builtin counter names from the uapi header. Commented with their perf tool aliases. finite), and generally make this list as extensive as possible. Excluding things like dynamic PMUs since those don't fit into a static enum.
Defined in perf_events.proto
Enum values:
Name | Value | Description |
---|---|---|
UNKNOWN_COUNTER | 0 | |
SW_CPU_CLOCK | 1 | cpu-clock |
SW_PAGE_FAULTS | 2 | page-faults, faults |
SW_TASK_CLOCK | 3 | task-clock |
SW_CONTEXT_SWITCHES | 4 | context-switches, cs |
SW_CPU_MIGRATIONS | 5 | cpu-migrations, migrations |
SW_PAGE_FAULTS_MIN | 6 | minor-faults |
SW_PAGE_FAULTS_MAJ | 7 | major-faults |
SW_ALIGNMENT_FAULTS | 8 | alignment-faults |
SW_EMULATION_FAULTS | 9 | emulation-faults |
SW_DUMMY | 20 | dummy |
HW_CPU_CYCLES | 10 | cpu-cycles, cycles |
HW_INSTRUCTIONS | 11 | instructions |
HW_CACHE_REFERENCES | 12 | cache-references |
HW_CACHE_MISSES | 13 | cache-misses |
HW_BRANCH_INSTRUCTIONS | 14 | branch-instructions, branches |
HW_BRANCH_MISSES | 15 | branch-misses |
HW_BUS_CYCLES | 16 | bus-cycles |
HW_STALLED_CYCLES_FRONTEND | 17 | stalled-cycles-frontend, idle-cycles-frontend |
HW_STALLED_CYCLES_BACKEND | 18 | stalled-cycles-backend, idle-cycles-backend |
HW_REF_CPU_CYCLES | 19 | ref-cycles |
PerfEvents.Tracepoint
Defined in perf_events.proto
Fields:
Field | Type | Description |
---|---|---|
name | string | Group and name for the tracepoint, acceptable forms: * "sched/sched_switch" * "sched:sched_switch" |
filter | string | Optional field-level filter for the tracepoint. Only events matching this filter will be counted (and therefore contribute to the sampling period). Example: "prev_pid >= 42 && next_pid == 0". For full syntax, see kernel documentation on "Event filtering": https://www.kernel.org/doc/Documentation/trace/events.txt |
PerfEvents.RawEvent
Syscall-level description of the event, propagated to the perf_event_attr struct. Primarily for local use-cases, since the event availability and encoding is hardware-specific.
Defined in perf_events.proto
Fields:
Field | Type | Description |
---|---|---|
type | uint32 | |
config | uint64 | |
config1 | uint64 | |
config2 | uint64 |
PerfEvents.PerfClock
Subset of clocks that is supported by perf timestamping. CLOCK_TAI is excluded since it's not expected to be used in practice, but would require additions to the trace clock synchronisation logic.
Defined in perf_events.proto
Enum values:
Name | Value | Description |
---|---|---|
UNKNOWN_PERF_CLOCK | 0 | |
PERF_CLOCK_REALTIME | 1 | |
PERF_CLOCK_MONOTONIC | 2 | |
PERF_CLOCK_MONOTONIC_RAW | 3 | |
PERF_CLOCK_BOOTTIME | 4 |
FollowerEvent
Additional events associated with a leader. Configuration is similar to Timebase event. Because data acquisition is driven by the leader there is no option to configure the clock or the frequency.
Defined in perf_events.proto
Fields:
Field | Type | Description |
---|---|---|
counter | PerfEvents.Counter | |
tracepoint | PerfEvents.Tracepoint | |
raw_event | PerfEvents.RawEvent | |
name | string |
V8CodeDefaults
Defined in v8.proto
Fields:
Field | Type | Description |
---|---|---|
tid | uint32 |