| // 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 { |
| optional uint64 time = 1; |
| |
| message CallChainEntry { |
| optional uint64 ip = 1; |
| optional string symbol = 2; |
| optional string file = 3; |
| } |
| |
| repeated CallChainEntry callchain = 2; |
| optional int32 thread_id = 3; |
| } |
| |
| message LostSituation { |
| optional uint64 sample_count = 1; |
| optional uint64 lost_count = 2; |
| } |
| |
| message Record { |
| enum Type { |
| UNKOWN = 0; |
| SAMPLE = 1; |
| LOST_SITUATION = 2; |
| } |
| |
| // Identifies which field is filled in. |
| optional Type type = 1; |
| |
| // One of the following will be filled in. |
| optional Sample sample = 2; |
| optional LostSituation lost = 3; |
| } |