Home | History | Annotate | Download | only in profiler
      1 // This proto intends to match format expected by pprof tool.
      2 syntax = "proto3";
      3 
      4 package tensorflow.tfprof.pprof;
      5 
      6 message Profile {
      7   repeated ValueType sample_type = 1;
      8   repeated Sample sample = 2;
      9   repeated Mapping mapping = 3;
     10   repeated Location location = 4;
     11   repeated Function function = 5;
     12   repeated string string_table = 6;
     13   int64 drop_frames = 7;
     14   int64 keep_frames = 8;
     15   int64 time_nanos = 9;
     16   int64 duration_nanos = 10;
     17   ValueType period_type = 11;
     18   int64 period = 12;
     19   repeated int64 comment = 13;
     20   int64 default_sample_type = 14;
     21 }
     22 
     23 message ValueType {
     24   int64 type = 1;
     25   int64 unit = 2;
     26 }
     27 
     28 message Sample {
     29   repeated uint64 location_id = 1;
     30   repeated int64 value = 2;
     31   repeated Label label = 3;
     32 }
     33 
     34 message Label {
     35   int64 key = 1;
     36   int64 str = 2;
     37   int64 num = 3;
     38 }
     39 
     40 message Mapping {
     41   uint64 id = 1;
     42   uint64 memory_start = 2;
     43   uint64 memory_limit = 3;
     44   uint64 file_offset = 4;
     45   int64 filename = 5;
     46   int64 build_id = 6;
     47   bool has_functions = 7;
     48   bool has_filenames = 8;
     49   bool has_line_numbers = 9;
     50   bool has_inline_frames = 10;
     51 }
     52 
     53 message Location {
     54   uint64 id = 1;
     55   uint64 mapping_id = 2;
     56   uint64 address = 3;
     57   repeated Line line = 4;
     58 }
     59 
     60 message Line {
     61   uint64 function_id = 1;
     62   int64 line = 2;
     63 }
     64 
     65 message Function {
     66   uint64 id = 1;
     67   int64 name = 2;
     68   int64 system_name = 3;
     69   int64 filename = 4;
     70   int64 start_line = 5;
     71 }
     72