You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.1 KiB
75 lines
2.1 KiB
// The file format generated by report_sample.proto is as below: |
|
// LittleEndian32(record_size_0) |
|
// message Record(record_0) (having record_size_0 bytes) |
|
// LittleEndian32(record_size_1) |
|
// message Record(record_1) (having record_size_1 bytes) |
|
// ... |
|
// LittleEndian32(record_size_N) |
|
// message Record(record_N) (having record_size_N bytes) |
|
// LittleEndian32(0) |
|
|
|
syntax = "proto2"; |
|
option optimize_for = LITE_RUNTIME; |
|
package simpleperf_report_proto; |
|
option java_package = "com.android.tools.profiler.proto"; |
|
option java_outer_classname = "SimpleperfReport"; |
|
|
|
message Sample { |
|
// Wall clock time for current sample. |
|
// By default, it is perf clock used in kernel. |
|
optional uint64 time = 1; |
|
optional int32 thread_id = 2; |
|
|
|
message CallChainEntry { |
|
// virtual address of the instruction in elf file |
|
optional uint64 vaddr_in_file = 1; |
|
|
|
// index of the elf file containing the instruction |
|
optional uint32 file_id = 2; |
|
|
|
// symbol_id refers to the name of the function containing the instruction. |
|
// If the function name is found, it is a valid index in the symbol table |
|
// of File with 'id' field being file_id, otherwise it is -1. |
|
optional int32 symbol_id = 3; |
|
} |
|
|
|
repeated CallChainEntry callchain = 3; |
|
|
|
// Count of the events that have happened since last sample (regardless of |
|
// whether the last sample is lost). The event type is decided by '-e' option |
|
// in simpleperf record command. By default, '-e cpu-cycles' is used, and this |
|
// field is the number of cpu cycles. |
|
optional uint64 event_count = 4; |
|
|
|
} |
|
|
|
message LostSituation { |
|
optional uint64 sample_count = 1; |
|
optional uint64 lost_count = 2; |
|
} |
|
|
|
message File { |
|
// unique id for each file, starting from 0, and add 1 each time. |
|
optional uint32 id = 1; |
|
|
|
// file path, like /system/lib/libc.so. |
|
optional string path = 2; |
|
|
|
// symbol table of the file. |
|
repeated string symbol = 3; |
|
} |
|
|
|
message Thread { |
|
optional uint32 thread_id = 1; |
|
optional uint32 process_id = 2; |
|
optional string thread_name = 3; |
|
} |
|
|
|
message Record { |
|
oneof record_data { |
|
Sample sample = 1; |
|
LostSituation lost = 2; |
|
File file = 3; |
|
Thread thread = 4; |
|
} |
|
} |