OSDN Git Service

os-release.d: Add system_id.
[android-x86/system-extras.git] / simpleperf / report_sample.proto
1 // The file format generated by report_sample.proto is as below:
2 // LittleEndian32(record_size_0)
3 // message Record(record_0) (having record_size_0 bytes)
4 // LittleEndian32(record_size_1)
5 // message Record(record_1) (having record_size_1 bytes)
6 // ...
7 // LittleEndian32(record_size_N)
8 // message Record(record_N) (having record_size_N bytes)
9 // LittleEndian32(0)
10
11 syntax = "proto2";
12 option optimize_for = LITE_RUNTIME;
13 package simpleperf_report_proto;
14 option java_package = "com.android.tools.profiler.proto";
15 option java_outer_classname = "SimpleperfReport";
16
17 message Sample {
18   optional uint64 time = 1;
19   optional int32 thread_id = 2;
20
21   message CallChainEntry {
22     // virtual address of the instruction in elf file
23     optional uint64 vaddr_in_file = 1;
24
25     // index of the elf file containing the instruction
26     optional uint32 file_id = 2;
27
28     // symbol_id refers to the name of the function containing the instruction.
29     // If the function name is found, it is a valid index in the symbol table
30     // of File with 'id' field being file_id, otherwise it is -1.
31     optional int32 symbol_id = 3;
32   }
33
34   repeated CallChainEntry callchain = 3;
35 }
36
37 message LostSituation {
38   optional uint64 sample_count = 1;
39   optional uint64 lost_count = 2;
40 }
41
42 message File {
43   // unique id for each file, starting from 0, and add 1 each time.
44   optional uint32 id = 1;
45
46   // file path, like /system/lib/libc.so.
47   optional string path = 2;
48
49   // symbol table of the file.
50   repeated string symbol = 3;
51 }
52
53 message Record {
54   oneof record_data {
55     Sample sample = 1;
56     LostSituation lost = 2;
57     File file = 3;
58   }
59 }