summaryrefslogtreecommitdiffstats
path: root/remoting/proto/trace.proto
blob: dbbabcf64b1316368cc035cd7d3ad266ac3aa02e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// 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;
}