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