// 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";

package quipper;

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