Index: remoting/base/protocol/trace.proto |
diff --git a/remoting/base/protocol/trace.proto b/remoting/base/protocol/trace.proto |
new file mode 100644 |
index 0000000000000000000000000000000000000000..dbbabcf64b1316368cc035cd7d3ad266ac3aa02e |
--- /dev/null |
+++ b/remoting/base/protocol/trace.proto |
@@ -0,0 +1,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; |
+} |
+ |