| // 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 = 3; | 
 |   } | 
 | } |