| // Note: this is must be kept in sync with /system/extra/simpleperf/report_sample.proto |
| |
| // 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 = "proto3"; |
| |
| package simpleperf_report_proto; |
| option java_package = "com.android.tools.profiler.proto"; |
| option java_outer_classname = "SimpleperfReport"; |
| |
| message Sample { |
| uint64 time = 1; // Exceptionnaly allow unsigned since this proto is from simpleperf. |
| message CallChainEntry { |
| uint64 ip = 1; // Exceptionnaly allow unsigned since this proto is from simpleperf. |
| string symbol = 2; |
| string file = 3; |
| } |
| |
| repeated CallChainEntry callchain = 2; |
| int32 thread_id = 3; |
| } |
| |
| message Record { |
| enum Type { |
| UNKOWN = 0; |
| SAMPLE = 1; |
| } |
| |
| // Identifies which field is filled in. |
| Type type = 1; |
| |
| // One of the following will be filled in. |
| Sample sample = 2; |
| } |