Tables diagram
Tracks tables
Events tables
ART Heap Graphs tables
Callstack profilers tables
Memory Snapshots tables
Misc tables
Tracks
track
Column | Type | Description |
---|---|---|
id | TrackTable::Id | |
type | string | |
source_arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
parent_id | TrackTable::Idoptional |
id of a parent track Joinable with track.id |
name | string |
process_track
Extends track
Column | Type | Description |
---|---|---|
upid | uint32_t | |
Columns inherited from track | ||
id | TrackTable::Id | |
type | string | |
source_arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
parent_id | TrackTable::Idoptional |
id of a parent track Joinable with track.id |
name | string |
thread_track
Extends track
Column | Type | Description |
---|---|---|
utid | uint32_t | |
Columns inherited from track | ||
id | TrackTable::Id | |
type | string | |
source_arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
parent_id | TrackTable::Idoptional |
id of a parent track Joinable with track.id |
name | string |
gpu_track
Extends track
Column | Type | Description |
---|---|---|
scope | string | |
description | string | |
context_id | int64_toptional |
|
Columns inherited from track | ||
id | TrackTable::Id | |
type | string | |
source_arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
parent_id | TrackTable::Idoptional |
id of a parent track Joinable with track.id |
name | string |
counter_track
Extends track
Column | Type | Description |
---|---|---|
unit | string | |
description | string | |
Columns inherited from track | ||
id | TrackTable::Id | |
type | string | |
source_arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
parent_id | TrackTable::Idoptional |
id of a parent track Joinable with track.id |
name | string |
thread_counter_track
Extends counter_track
Column | Type | Description |
---|---|---|
utid | uint32_t | |
Columns inherited from counter_track | ||
unit | string | |
description | string | |
Columns inherited from track | ||
id | TrackTable::Id | |
type | string | |
source_arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
parent_id | TrackTable::Idoptional |
id of a parent track Joinable with track.id |
name | string |
process_counter_track
Extends counter_track
Column | Type | Description |
---|---|---|
upid | uint32_t | |
Columns inherited from counter_track | ||
unit | string | |
description | string | |
Columns inherited from track | ||
id | TrackTable::Id | |
type | string | |
source_arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
parent_id | TrackTable::Idoptional |
id of a parent track Joinable with track.id |
name | string |
cpu_counter_track
Extends counter_track
Column | Type | Description |
---|---|---|
cpu | uint32_t | |
Columns inherited from counter_track | ||
unit | string | |
description | string | |
Columns inherited from track | ||
id | TrackTable::Id | |
type | string | |
source_arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
parent_id | TrackTable::Idoptional |
id of a parent track Joinable with track.id |
name | string |
irq_counter_track
Extends counter_track
Column | Type | Description |
---|---|---|
irq | int32_t | |
Columns inherited from counter_track | ||
unit | string | |
description | string | |
Columns inherited from track | ||
id | TrackTable::Id | |
type | string | |
source_arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
parent_id | TrackTable::Idoptional |
id of a parent track Joinable with track.id |
name | string |
softirq_counter_track
Extends counter_track
Column | Type | Description |
---|---|---|
softirq | int32_t | |
Columns inherited from counter_track | ||
unit | string | |
description | string | |
Columns inherited from track | ||
id | TrackTable::Id | |
type | string | |
source_arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
parent_id | TrackTable::Idoptional |
id of a parent track Joinable with track.id |
name | string |
gpu_counter_track
Extends counter_track
Column | Type | Description |
---|---|---|
gpu_id | uint32_t | |
Columns inherited from counter_track | ||
unit | string | |
description | string | |
Columns inherited from track | ||
id | TrackTable::Id | |
type | string | |
source_arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
parent_id | TrackTable::Idoptional |
id of a parent track Joinable with track.id |
name | string |
perf_counter_track
Extends counter_track
Sampled counters' values for samples in the perf_sample table.
Column | Type | Description |
---|---|---|
perf_session_id | uint32_t | id of a distict profiling stream Joinable with perf_sample.perf_session_id |
cpu | uint32_t | the core the sample was taken on. |
is_timebase | uint32_t | if true, this counter was the sampling timebase for this perf_session_id. |
Columns inherited from counter_track | ||
unit | string | |
description | string | |
Columns inherited from track | ||
id | TrackTable::Id | |
type | string | |
source_arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
parent_id | TrackTable::Idoptional |
id of a parent track Joinable with track.id |
name | string |
energy_counter_track
Extends counter_track
Energy consumers' values for energy descriptors in energy_estimation_breakdown packet
Column | Type | Description |
---|---|---|
consumer_id | int32_t | id of a distinct energy consumer |
consumer_type | string | type of energy consumer |
ordinal | int32_t | ordinal of energy consumer |
Columns inherited from counter_track | ||
unit | string | |
description | string | |
Columns inherited from track | ||
id | TrackTable::Id | |
type | string | |
source_arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
parent_id | TrackTable::Idoptional |
id of a parent track Joinable with track.id |
name | string |
uid_counter_track
Extends counter_track
Energy per process values for per_uid in energy_estimation_breakdown packet
Column | Type | Description |
---|---|---|
uid | int32_t | id of distinct energy process |
Columns inherited from counter_track | ||
unit | string | |
description | string | |
Columns inherited from track | ||
id | TrackTable::Id | |
type | string | |
source_arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
parent_id | TrackTable::Idoptional |
id of a parent track Joinable with track.id |
name | string |
energy_per_uid_counter_track
Extends uid_counter_track
Energy consumer values for per uid in uid_counter_track
Column | Type | Description |
---|---|---|
consumer_id | int32_t | of consumer of process |
Columns inherited from uid_counter_track | ||
uid | int32_t | id of distinct energy process |
Columns inherited from counter_track | ||
unit | string | |
description | string | |
Columns inherited from track | ||
id | TrackTable::Id | |
type | string | |
source_arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
parent_id | TrackTable::Idoptional |
id of a parent track Joinable with track.id |
name | string |
Events
android_logs
Log entries from Android logcat.
NOTE: this table is not sorted by timestamp. This is why we omit the
sorted flag on the ts column.
Column | Type | Description |
---|---|---|
id | AndroidLogTable::Id | Unique idenitifier for this android_logs. |
type | string | The name of the "most-specific" child table containing this row. |
ts | int64_t | Timestamp of log entry. |
utid | ThreadTable::Id | Thread writing the log entry Joinable with thread.id |
prio | uint32_t | Priority of the log. 3=DEBUG, 4=INFO, 5=WARN, 6=ERROR. |
tag | stringoptional |
Tag of the log entry. |
msg | string | Content of the log entry. |
android_dumpstate
Dumpsys entries from Android dumpstate.
Column | Type | Description |
---|---|---|
id | AndroidDumpstateTable::Id | |
type | string | |
section | stringoptional |
name of the dumpstate section. |
service | stringoptional |
name of the dumpsys service. Only present when dumpstate=="dumpsys", NULL otherwise. |
line | string | line-by-line contents of the section/service, one row per line. |
counter
Column | Type | Description |
---|---|---|
id | CounterTable::Id | |
type | string | |
arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
ts | int64_t | |
track_id | CounterTrackTable::Id | |
value | double |
slice
Column | Type | Description |
---|---|---|
id | SliceTable::Id | |
type | string | |
ts | int64_t | timestamp of the start of the slice (in nanoseconds) |
dur | int64_t | duration of the slice (in nanoseconds) |
arg_set_id | uint32_t | Joinable with args.arg_set_id |
thread_instruction_count | int64_toptional |
to the end of the slice. |
thread_instruction_delta | int64_toptional |
The change in value from |
track_id | TrackTable::Id | |
category | stringoptional |
|
name | stringoptional |
|
depth | uint32_t | |
stack_id | int64_t | |
parent_stack_id | int64_t | |
parent_id | SliceTable::Idoptional |
|
thread_ts | int64_toptional |
|
thread_dur | int64_toptional |
sched_slice
This table holds slices with kernel thread scheduling information. These slices are collected when the Linux "ftrace" data source is used with the "sched/switch" and "sched/wakeup*" events enabled.
Column | Type | Description |
---|---|---|
id | SchedSliceTable::Id | The row id for the table row. |
type | string | This field always contains the string 'sched_slice'. |
ts | int64_t | The timestamp at the start of the slice (in nanoseconds). |
dur | int64_t | The duration of the slice (in nanoseconds). |
utid | uint32_t | The thread's unique id in the trace. Joinable with thread.utid |
cpu | uint32_t | The CPU that the slice executed on. |
end_state | string | A string representing the scheduling state of the kernel thread at the end of the slice. The individual characters in the string mean the following: R (runnable), S (awaiting a wakeup), D (in an uninterruptible sleep), T (suspended), t (being traced), X (exiting), P (parked), W (waking), I (idle), N (not contributing to the load average), K (wakeable on fatal signals) and Z (zombie, awaiting cleanup). |
priority | int32_t | The kernel priority that the thread ran at. |
thread_state
Column | Type | Description |
---|---|---|
id | ThreadStateTable::Id | |
type | string | |
utid | uint32_t | Joinable with thread.utid |
ts | int64_t | |
dur | int64_t | |
cpu | uint32_toptional |
|
state | string | |
io_wait | uint32_toptional |
|
blocked_function | stringoptional |
|
waker_utid | uint32_toptional |
gpu_slice
Extends slice
Column | Type | Description |
---|---|---|
context_id | int64_toptional |
|
render_target | int64_toptional |
|
render_target_name | string | |
render_pass | int64_toptional |
|
render_pass_name | string | |
command_buffer | int64_toptional |
|
command_buffer_name | string | |
frame_id | uint32_toptional |
|
submission_id | uint32_toptional |
|
hw_queue_id | int64_toptional |
|
render_subpasses | string | |
Columns inherited from slice | ||
id | SliceTable::Id | |
type | string | |
ts | int64_t | timestamp of the start of the slice (in nanoseconds) |
dur | int64_t | duration of the slice (in nanoseconds) |
arg_set_id | uint32_t | Joinable with args.arg_set_id |
thread_instruction_count | int64_toptional |
to the end of the slice. |
thread_instruction_delta | int64_toptional |
The change in value from |
track_id | TrackTable::Id | |
category | stringoptional |
|
name | stringoptional |
|
depth | uint32_t | |
stack_id | int64_t | |
parent_stack_id | int64_t | |
parent_id | SliceTable::Idoptional |
|
thread_ts | int64_toptional |
|
thread_dur | int64_toptional |
frame_slice
Extends slice
Column | Type | Description |
---|---|---|
frame_number | uint32_t | |
layer_name | string | |
queue_to_acquire_time | int64_t | |
acquire_to_latch_time | int64_t | |
latch_to_present_time | int64_t | |
Columns inherited from slice | ||
id | SliceTable::Id | |
type | string | |
ts | int64_t | timestamp of the start of the slice (in nanoseconds) |
dur | int64_t | duration of the slice (in nanoseconds) |
arg_set_id | uint32_t | Joinable with args.arg_set_id |
thread_instruction_count | int64_toptional |
to the end of the slice. |
thread_instruction_delta | int64_toptional |
The change in value from |
track_id | TrackTable::Id | |
category | stringoptional |
|
name | stringoptional |
|
depth | uint32_t | |
stack_id | int64_t | |
parent_stack_id | int64_t | |
parent_id | SliceTable::Idoptional |
|
thread_ts | int64_toptional |
|
thread_dur | int64_toptional |
ART Heap Graphs
heap_graph_class
Column | Type | Description |
---|---|---|
id | HeapGraphClassTable::Id | |
type | string | |
name | string | (potentially obfuscated) name of the class. |
deobfuscated_name | stringoptional |
if class name was obfuscated and deobfuscation map for it provided, the deobfuscated name. |
location | stringoptional |
the APK / Dex / JAR file the class is contained in classloader_id should really be HeapGraphObject::id, but that would create a loop, which is currently not possible TODO(lalitm): resolve this |
superclass_id | HeapGraphClassTable::Idoptional |
|
classloader_id | uint32_toptional |
|
kind | string |
heap_graph_object
The objects on the Dalvik heap.
All rows with the same (upid, graph_sample_ts) are one dump.
Column | Type | Description |
---|---|---|
id | HeapGraphObjectTable::Id | |
type | string | |
upid | uint32_t | UniquePid of the target Joinable with process.upid |
graph_sample_ts | int64_t | timestamp this dump was taken at. |
self_size | int64_t | size this object uses on the Java Heap. |
native_size | int64_t | approximate amount of native memory used by this object, as reported by libcore.util.NativeAllocationRegistry.size. |
reference_set_id | uint32_toptional |
join key with heap_graph_reference containing all objects referred in this object's fields Joinable with heap_graph_reference.reference_set_id |
reachable | int32_t | bool whether this object is reachable from a GC root. If false, this object is uncollected garbage. |
type_id | HeapGraphClassTable::Id | class this object is an instance of. |
root_type | stringoptional |
if not NULL, this object is a GC root. |
root_distance | int32_t |
heap_graph_reference
Many-to-many mapping between heap_graph_object.
This associates the object with given reference_set_id with the objects that are referred to by its fields.
Column | Type | Description |
---|---|---|
id | HeapGraphReferenceTable::Id | |
type | string | |
reference_set_id | uint32_t | join key to heap_graph_object. |
owner_id | HeapGraphObjectTable::Id | id of object that has this reference_set_id. |
owned_id | HeapGraphObjectTable::Idoptional |
id of object that is referred to. |
field_name | string | the field that refers to the object. E.g. Foo.name. |
field_type_name | string | the static type of the field. E.g. java.lang.String. |
deobfuscated_field_name | stringoptional |
if field_name was obfuscated and a deobfuscation mapping was provided for it, the deobfuscated name. |
Callstack profilers
profiler_smaps
The profiler smaps contains the memory stats for virtual memory ranges captured by the heap profiler.
Column | Type | Description |
---|---|---|
id | ProfilerSmapsTable::Id | |
type | string | |
upid | uint32_t | The UniquePID of the process Joinable with process.upid |
ts | int64_t | Timestamp of the snapshot. Multiple rows will have the same timestamp. |
path | string | The mmaped file, as per /proc/pid/smaps. |
size_kb | int64_t | Total size of the mapping. |
private_dirty_kb | int64_t | KB of this mapping that are private dirty RSS. |
swap_kb | int64_t | KB of this mapping that are in swap. |
file_name | string | |
file_name_iid | ||
path_iid | ||
start_address | int64_t | |
module_timestamp | int64_t | |
module_debugid | string | |
module_debug_path | string | |
protection_flags | int64_t | |
private_clean_resident_kb | int64_t | |
shared_dirty_resident_kb | int64_t | |
shared_clean_resident_kb | int64_t | |
locked_kb | int64_t | |
proportional_resident_kb | int64_t |
stack_profile_mapping
A mapping (binary / library) in a process. This is generated by the stack profilers: heapprofd and traced_perf.
Column | Type | Description |
---|---|---|
id | StackProfileMappingTable::Id | |
type | string | |
build_id | string | hex-encoded Build ID of the binary / library. |
start | int64_t | start of the mapping in the process' address space. |
end | int64_t | end of the mapping in the process' address space. |
name | string | filename of the binary / library Joinable with profiler_smaps.path |
exact_offset | int64_t | |
start_offset | int64_t | |
load_bias | int64_t |
stack_profile_frame
A frame on the callstack. This is a location in a program. This is generated by the stack profilers: heapprofd and traced_perf.
Column | Type | Description |
---|---|---|
id | StackProfileFrameTable::Id | |
type | string | |
name | string | name of the function this location is in. |
mapping | StackProfileMappingTable::Id | the mapping (library / binary) this location is in. |
rel_pc | int64_t | the program counter relative to the start of the mapping. |
symbol_set_id | uint32_toptional |
if the profile was offline symbolized, the offline symbol information of this frame Joinable with stack_profile_symbol.symbol_set_id |
deobfuscated_name | stringoptional |
stack_profile_callsite
A callsite. This is a list of frames that were on the stack. This is generated by the stack profilers: heapprofd and traced_perf.
Column | Type | Description |
---|---|---|
id | StackProfileCallsiteTable::Id | |
type | string | |
depth | uint32_t | distance from the bottom-most frame of the callstack. |
parent_id | StackProfileCallsiteTable::Idoptional |
parent frame on the callstack. NULL for the bottom-most. |
frame_id | StackProfileFrameTable::Id | frame at this position in the callstack. |
stack_sample
Root table for timestamped stack samples.
Column | Type | Description |
---|---|---|
id | StackSampleTable::Id | |
type | string | |
ts | int64_t | timestamp of the sample. |
callsite_id | StackProfileCallsiteTable::Id | unwound callstack. |
cpu_profile_stack_sample
Extends stack_sample
Samples from the Chromium stack sampler.
Column | Type | Description |
---|---|---|
ts | timestamp this sample was taken at. | |
utid | uint32_t | thread that was active when the sample was taken. |
callsite_id | callstack in active thread at time of sample. | |
process_priority | int32_t | |
Columns inherited from stack_sample | ||
id | StackSampleTable::Id | |
type | string | |
ts | int64_t | timestamp of the sample. |
callsite_id | StackProfileCallsiteTable::Id | unwound callstack. |
perf_sample
Samples from the traced_perf profiler.
Column | Type | Description |
---|---|---|
id | PerfSampleTable::Id | |
type | string | |
ts | int64_t | timestamp of the sample. |
utid | uint32_t | sampled thread. Joinable with thread.utid |
cpu | uint32_t | the core the sampled thread was running on. |
cpu_mode | string | execution state (userspace/kernelspace) of the sampled thread. |
callsite_id | StackProfileCallsiteTable::Idoptional |
if set, unwound callstack of the sampled thread. |
unwind_error | stringoptional |
if set, indicates that the unwinding for this sample encountered an error. Such samples still reference the best-effort result via the callsite_id (with a synthetic error frame at the point where unwinding stopped). |
perf_session_id | uint32_t | distinguishes samples from different profiling streams (i.e. multiple data sources) Joinable with perf_counter_track.perf_session_id |
stack_profile_symbol
Symbolization data for a frame. Rows with the same symbol_set_id describe one callframe, with the most-inlined symbol having id == symbol_set_id.
For instance, if the function foo has an inlined call to the function bar, which has an inlined call to baz, the stack_profile_symbol table would look like this.
|id|symbol_set_id|name |source_file|line_number|
|--|-------------|-------------|-----------|-----------|
|1 | 1 |baz |foo.cc | 36 |
|2 | 1 |bar |foo.cc | 30 |
|3 | 1 |foo |foo.cc | 60 |
Column | Type | Description |
---|---|---|
id | SymbolTable::Id | |
type | string | |
name | string | name of the function. |
source_file | string | name of the source file containing the function. |
line_number | uint32_t | line number of the frame in the source file. This is the exact line for the corresponding program counter, not the beginning of the function. |
symbol_set_id | uint32_t |
heap_profile_allocation
Allocations that happened at a callsite.
NOTE: this table is not sorted by timestamp intentionanlly - see b/193757386 for details. TODO(b/193757386): readd the sorted flag once this bug is fixed.
This is generated by heapprofd.
Column | Type | Description |
---|---|---|
id | HeapProfileAllocationTable::Id | |
type | string | |
ts | int64_t | the timestamp the allocations happened at. heapprofd batches allocations and frees, and all data from a dump will have the same timestamp. |
upid | uint32_t | the UniquePID of the allocating process Joinable with process.upid |
callsite_id | StackProfileCallsiteTable::Id | the callsite the allocation happened at. |
count | int64_t | if positive: number of allocations that happened at this callsite. if negative: number of allocations that happened at this callsite that were freed. |
size | int64_t | if positive: size of allocations that happened at this callsite. if negative: size of allocations that happened at this callsite that were freed. |
heap_name | string |
experimental_flamegraph_nodes
Table used to render flamegraphs. This gives cumulative sizes of nodes in the flamegraph.
WARNING: This is experimental and the API is subject to change.
Column | Type | Description |
---|---|---|
id | ExperimentalFlamegraphNodesTable::Id | |
type | string | |
ts | int64_t | |
upid | uint32_t | |
profile_type | string | |
focus_str | string | |
depth | uint32_t | |
name | string | |
map_name | string | |
count | int64_t | |
cumulative_count | int64_t | |
size | int64_t | |
cumulative_size | int64_t | |
alloc_count | int64_t | |
cumulative_alloc_count | int64_t | |
alloc_size | int64_t | |
cumulative_alloc_size | int64_t | |
parent_id | ExperimentalFlamegraphNodesTable::Idoptional |
|
source_file | stringoptional |
|
line_number | uint32_toptional |
|
upid_group | stringoptional |
Memory Snapshots
memory_snapshot
Column | Type | Description |
---|---|---|
id | MemorySnapshotTable::Id | |
type | string | |
timestamp | int64_t | |
track_id | TrackTable::Id | |
detail_level | string |
process_memory_snapshot
Column | Type | Description |
---|---|---|
id | ProcessMemorySnapshotTable::Id | |
type | string | |
snapshot_id | MemorySnapshotTable::Id | |
upid | uint32_t |
memory_snapshot_node
Column | Type | Description |
---|---|---|
id | MemorySnapshotNodeTable::Id | |
type | string | |
process_snapshot_id | ProcessMemorySnapshotTable::Id | |
parent_node_id | MemorySnapshotNodeTable::Idoptional |
|
path | string | |
size | int64_t | |
effective_size | int64_t | |
arg_set_id | uint32_toptional |
memory_snapshot_edge
Column | Type | Description |
---|---|---|
id | MemorySnapshotEdgeTable::Id | |
type | string | |
source_node_id | MemorySnapshotNodeTable::Id | |
target_node_id | MemorySnapshotNodeTable::Id | |
importance | uint32_t |
Misc
thread
Contains information of threads seen during the trace
Column | Type | Description |
---|---|---|
utid | ThreadTable::Id | Unique thread id. This is != the OS tid. This is a monotonic number associated to each thread. The OS thread id (tid) cannot be used as primary key because tids and pids are recycled by most kernels. |
tid | uint32_t | The OS id for this thread. Note: this is not unique over the lifetime of the trace so cannot be used as a primary key. Use |utid| instead. |
name | stringoptional |
The name of the thread. Can be populated from many sources (e.g. ftrace, /proc scraping, track event etc). |
start_ts | int64_toptional |
The start timestamp of this thread (if known). Is null in most cases unless a thread creation event is enabled (e.g task_newtask ftrace event on Linux/Android). |
end_ts | int64_toptional |
The end timestamp of this thread (if known). Is null in most cases unless a thread destruction event is enabled (e.g sched_process_free ftrace event on Linux/Android). |
upid | ProcessTable::Idoptional |
The process hosting this thread Joinable with process.id |
is_main_thread | uint32_toptional |
Boolean indicating if this thread is the main thread in the process. |
process
Contains information of processes seen during the trace
Column | Type | Description |
---|---|---|
upid | ProcessTable::Id | Unique process id. This is != the OS pid. This is a monotonic number associated to each process. The OS process id (pid) cannot be used as primary key because tids and pids are recycled by most kernels. |
pid | uint32_t | The OS id for this process. Note: this is not unique over the lifetime of the trace so cannot be used as a primary key. Use |upid| instead. |
name | stringoptional |
The name of the process. Can be populated from many sources (e.g. ftrace, /proc scraping, track event etc). |
start_ts | int64_toptional |
The start timestamp of this process (if known). Is null in most cases unless a process creation event is enabled (e.g. task_newtask ftrace event on Linux/Android). |
end_ts | int64_toptional |
The end timestamp of this process (if known). Is null in most cases unless a process destruction event is enabled (e.g. sched_process_free ftrace event on Linux/Android). |
parent_upid | ProcessTable::Idoptional |
The upid of the process which caused this process to be spawned Joinable with process.id |
uid | uint32_toptional |
The Unix user id of the process Joinable with package_list.uid |
android_appid | uint32_toptional |
Android appid of this process. |
cmdline | stringoptional |
/proc/cmdline for this process. |
arg_set_id | uint32_t | Extra args for this process Joinable with args.arg_set_id |
android_game_intervention_list
A table presenting all game modes and interventions of games installed on the system. This is generated by the game_mode_intervention data-source.
Column | Type | Description |
---|---|---|
id | AndroidGameInterventionListTable::Id | |
type | string | |
package_name | string | name of the pakcage, e.g. com.google.android.gm. |
uid | int64_t | UID processes of this package runs as. |
current_mode | int32_t | current game mode the game is running at. |
standard_mode_supported | int32_t | bool whether standard mode is supported. |
standard_mode_downscale | doubleoptional |
resolution downscaling factor of standard mode. |
standard_mode_use_angle | int32_toptional |
bool whether ANGLE is used in standard mode. |
standard_mode_fps | doubleoptional |
frame rate that the game is throttled at in standard mode. |
perf_mode_supported | int32_t | bool whether performance mode is supported. |
perf_mode_downscale | doubleoptional |
resolution downscaling factor of performance mode. |
perf_mode_use_angle | int32_toptional |
bool whether ANGLE is used in performance mode. |
perf_mode_fps | doubleoptional |
frame rate that the game is throttled at in performance mode. |
battery_mode_supported | int32_t | bool whether battery mode is supported. |
battery_mode_downscale | doubleoptional |
resolution downscaling factor of battery mode. |
battery_mode_use_angle | int32_toptional |
bool whether ANGLE is used in battery mode. |
battery_mode_fps | doubleoptional |
frame rate that the game is throttled at in battery mode. |
raw
Column | Type | Description |
---|---|---|
id | RawTable::Id | |
type | string | |
arg_set_id | uint32_t | Joinable with args.arg_set_id |
ts | int64_t | |
name | string | |
cpu | uint32_t | |
utid | uint32_t |
args
Column | Type | Description |
---|---|---|
id | ArgTable::Id | |
type | string | |
arg_set_id | uint32_t | |
flat_key | string | |
key | string | |
int_value | int64_toptional |
|
string_value | stringoptional |
|
real_value | doubleoptional |
|
value_type | string |
metadata
Column | Type | Description |
---|---|---|
id | MetadataTable::Id | |
type | string | |
name | string | |
key_type | string | |
int_value | int64_toptional |
|
str_value | stringoptional |
filedescriptor
Contains information of filedescriptors collected during the trace
Column | Type | Description |
---|---|---|
id | FiledescriptorTable::Id | |
type | string | |
ufd | int64_t | Unique fd. This is != the OS fd This is a monotonic number associated to each filedescriptor. The OS assigned fd cannot be used as primary key because fds are recycled by most kernels. |
fd | int64_t | The OS id for this process. Note: this is not unique over the lifetime of the trace so cannot be used as a primary key. Use |ufd| instead. |
ts | int64_toptional |
The timestamp for when the fd was collected. |
upid | uint32_toptional |
The upid of the process which opened the filedescriptor Joinable with process.upid |
path | stringoptional |
The path to the file or device backing the fd In case this was a socket the path will be the port number. |
experimental_missing_chrome_processes
Experimental table, subject to arbitrary breaking changes.
Column | Type | Description |
---|---|---|
id | ExpMissingChromeProcTable::Id | |
type | string | |
upid | uint32_t | |
reliable_from | int64_toptional |
cpu
Contains information of processes seen during the trace
Column | Type | Description |
---|---|---|
id | CpuTable::Id | id of this CPU |
type | string | |
cluster_id | uint32_t | the cluster id is shared by CPUs in the same cluster |
processor | string | a string describing this core |
cpu_freq
Column | Type | Description |
---|---|---|
id | CpuFreqTable::Id | |
type | string | |
cpu_id | CpuTable::Id | |
freq | uint32_t |
clock_snapshot
Contains all the mapping between clock snapshots and trace time.
NOTE: this table is not sorted by timestamp; this is why we omit the sorted flag on the ts column.
Column | Type | Description |
---|---|---|
id | ClockSnapshotTable::Id | |
type | string | |
ts | int64_t | timestamp of the snapshot in trace time. |
clock_id | int64_t | id of the clock (corresponds to the id in the trace). |
clock_name | stringoptional |
the name of the clock for builtin clocks or null otherwise. |
clock_value | int64_t | timestamp of the snapshot in clock time. |
snapshot_id | uint32_t | the index of this snapshot (only useful for debugging) |
expected_frame_timeline_slice
Extends slice
Column | Type | Description |
---|---|---|
display_frame_token | int64_t | |
surface_frame_token | int64_t | |
upid | uint32_t | |
layer_name | string | |
Columns inherited from slice | ||
id | SliceTable::Id | |
type | string | |
ts | int64_t | timestamp of the start of the slice (in nanoseconds) |
dur | int64_t | duration of the slice (in nanoseconds) |
arg_set_id | uint32_t | Joinable with args.arg_set_id |
thread_instruction_count | int64_toptional |
to the end of the slice. |
thread_instruction_delta | int64_toptional |
The change in value from |
track_id | TrackTable::Id | |
category | stringoptional |
|
name | stringoptional |
|
depth | uint32_t | |
stack_id | int64_t | |
parent_stack_id | int64_t | |
parent_id | SliceTable::Idoptional |
|
thread_ts | int64_toptional |
|
thread_dur | int64_toptional |
actual_frame_timeline_slice
Extends slice
Column | Type | Description |
---|---|---|
display_frame_token | int64_t | |
surface_frame_token | int64_t | |
upid | uint32_t | |
layer_name | string | |
present_type | string | |
on_time_finish | int32_t | |
gpu_composition | int32_t | |
jank_type | string | |
prediction_type | string | |
jank_tag | string | |
Columns inherited from slice | ||
id | SliceTable::Id | |
type | string | |
ts | int64_t | timestamp of the start of the slice (in nanoseconds) |
dur | int64_t | duration of the slice (in nanoseconds) |
arg_set_id | uint32_t | Joinable with args.arg_set_id |
thread_instruction_count | int64_toptional |
to the end of the slice. |
thread_instruction_delta | int64_toptional |
The change in value from |
track_id | TrackTable::Id | |
category | stringoptional |
|
name | stringoptional |
|
depth | uint32_t | |
stack_id | int64_t | |
parent_stack_id | int64_t | |
parent_id | SliceTable::Idoptional |
|
thread_ts | int64_toptional |
|
thread_dur | int64_toptional |
experimental_flat_slice
Column | Type | Description |
---|---|---|
id | ExperimentalFlatSliceTable::Id | |
type | string | |
ts | int64_t | |
dur | int64_t | |
track_id | TrackTable::Id | |
category | stringoptional |
|
name | stringoptional |
|
arg_set_id | uint32_t | |
source_id | SliceTable::Idoptional |
|
start_bound | int64_t | |
end_bound | int64_t |
flow
Column | Type | Description |
---|---|---|
id | FlowTable::Id | |
type | string | |
arg_set_id | uint32_t | Joinable with args.arg_set_id |
slice_out | SliceTable::Id | |
slice_in | SliceTable::Id |
package_list
Metadata about packages installed on the system. This is generated by the packages_list data-source.
Column | Type | Description |
---|---|---|
id | PackageListTable::Id | |
type | string | |
package_name | string | name of the package, e.g. com.google.android.gm. |
uid | int64_t | UID processes of this package run as. |
debuggable | int32_t | bool whether this app is debuggable. |
profileable_from_shell | int32_t | bool whether this app is profileable. |
version_code | int64_t | versionCode from the APK. |
vulkan_memory_allocations
Column | Type | Description |
---|---|---|
id | VulkanMemoryAllocationsTable::Id | |
type | string | |
arg_set_id | uint32_toptional |
Joinable with args.arg_set_id |
source | string | |
operation | string | |
timestamp | int64_t | |
upid | uint32_toptional |
|
device | int64_toptional |
|
device_memory | int64_toptional |
|
memory_type | uint32_toptional |
|
heap | uint32_toptional |
|
function_name | stringoptional |
|
object_handle | int64_toptional |
|
memory_address | int64_toptional |
|
memory_size | int64_toptional |
|
scope | string |
gpu_counter_group
Column | Type | Description |
---|---|---|
id | GpuCounterGroupTable::Id | |
type | string | |
group_id | int32_t | |
track_id | TrackTable::Id |
experimental_proto_path
Experimental table, subject to arbitrary breaking changes.
Column | Type | Description |
---|---|---|
id | ExperimentalProtoPathTable::Id | |
type | string | |
parent_id | ExperimentalProtoPathTable::Idoptional |
|
field_type | string | |
field_name | stringoptional |
|
arg_set_id | uint32_toptional |
experimental_proto_content
Column | Type | Description |
---|---|---|
id | ExperimentalProtoContentTable::Id | |
type | string | |
path | string | |
path_id | ExperimentalProtoPathTable::Id | |
total_size | int64_t | |
size | int64_t |