blob: dbbabcf64b1316368cc035cd7d3ad266ac3aa02e [file] [log] [blame]
// Copyright (c) 2010 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.
//
// Protocol buffers for creating performance traces on requests.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package remoting;
// Represents one entry in the TraceBuffer below. Collates information that
// would be useful for analyzing the performance in a program trace.
message TraceRecord {
required string annotation = 1;
required int64 timestamp = 2; // In micros from epoch.
// -- Information for constructing a distributed trace. --
// TODO(ajwong): Decide which of these are useful, and remove rest.
// Identifies the machine.
optional int64 source_id = 3 [ default = -1 ];
// Identifies the thread on the machine.
optional fixed64 thread_id = 4;
// Estimated skew from master clock.
optional int64 clock_skew = 5 [ default = 0 ];
}
// Protocol buffer used for collecting stats, and performance data.
message TraceBuffer {
required string name = 1; // Name of this trace.
repeated TraceRecord record = 2;
}