1syntax = "proto3"; 2 3package tensorflow.profiler; 4 5import "tensorflow/core/profiler/protobuf/diagnostics.proto"; 6 7message StepBreakdownEvents { 8 int32 id = 1; 9 string name = 2; 10} 11 12// A database of PodStats records. 13message PodStatsDatabase { 14 // All PodStats records, one for each row in the PodStats tool. 15 repeated PodStatsRecord pod_stats_record = 1; 16 // Error and warning messages for diagnosing profiling issues. 17 Diagnostics diagnostics = 3; 18 // A map from event type number to event name string for step breakdown. 19 repeated StepBreakdownEvents step_breakdown_events = 4; 20 reserved 2; 21} 22 23// Next ID: 20 24// There is one PodStatsRecord for each step traced on each compute node. 25message PodStatsRecord { 26 // The host name where the trace was collected. 27 string host_name = 1; 28 // The TPU global chip id where the trace was collected. 29 int32 chip_id = 2; 30 // The TPU node id where the trace was collected. 31 int32 node_id = 3; 32 // The step number. 33 uint32 step_num = 4; 34 // The step duration in micro-seconds. 35 double total_duration_us = 5; 36 // Breakdown the durations for each event type in micro-seconds. 37 map<int32, double> step_breakdown_us = 19; 38 // Indicates the bottleneck out of the above mentioned metrics. 39 string bottleneck = 14; 40 reserved 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18; 41} 42