| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto2"; |
| |
| option optimize_for = LITE_RUNTIME; |
| |
| package metrics; |
| |
| // Stores output generated by the "perf stat" command. |
| // |
| // See https://perf.wiki.kernel.org/index.php/Tutorial#Counting_with_perf_stat |
| // for more details. |
| |
| // Next tag: 3 |
| message PerfStatProto { |
| // All lines printed by "perf stat". |
| repeated PerfStatLine line = 1; |
| |
| // The command line used to run "perf stat". |
| optional string command_line = 2; |
| |
| // Represents one line of "perf stat" output. |
| // Next tag: 4 |
| message PerfStatLine { |
| // Time since the start of the "perf stat" command, in milliseconds. |
| // |
| // When running "perf stat" and printing the counters at the end, this is |
| // the total time taken by the run. |
| // |
| // Alternatively, "perf stat" can print its stats at regular intervals until |
| // the end of the run. For example, if "perf stat" runs for one second and |
| // prints at 200-ms intervals, it will print counter values for each event |
| // a total of five times. According to "perf stat" usage instructions, the |
| // printing interval should be no less than 100 ms. |
| optional uint64 time_ms = 1; |
| |
| // Current count value of the event being counted. May be different from the |
| // nominal counter value reported by "perf stat", depending on the event. |
| // For example, memory access counters are in units of 64 bytes. A counter |
| // value of 1024 would represent 65536 bytes, and we would set this field to |
| // 65536. |
| optional uint64 count = 2; |
| |
| // Name of event whose counter is listed on this line. |
| // This string should also appear as part of |PerfStatProto::command_line|. |
| // "perf stat" will preserve the event name exactly as it is passed in via |
| // the command line. |
| optional string event_name = 3; |
| } |
| } |