Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(821)

Unified Diff: components/tracing/proto/events_chunk.proto

Issue 2196663002: tracing v2: Introduce TraceBufferWriter (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@proto_refactor
Patch Set: Fix linking errors moving kChunkSize outside of exported class Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/tracing/proto/events_chunk.proto
diff --git a/components/tracing/proto/events_chunk.proto b/components/tracing/proto/events_chunk.proto
new file mode 100644
index 0000000000000000000000000000000000000000..837dfec56d6f29e7e61cc1e7656eba7753fc104b
--- /dev/null
+++ b/components/tracing/proto/events_chunk.proto
@@ -0,0 +1,35 @@
+// Copyright 2016 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";
+option optimize_for = LITE_RUNTIME;
+
+package tracing.proto;
+
+// An EventsChunk is a fixed portion of the trace ring buffer which is written
+// exclusively by one writer (almost always 1 writer == 1 thread). It contains
+// a variable number of variable-sized events. Events can be fragmented across
+// several chunks.
+message EventsChunk {
+ // Chunks produced by the same trace writer have the same writer_id. This
+ // allows to identify the next chunk for a writer (thread) in the ring buffer.
+ optional uint32 writer_id = 1;
+
+ // A monotonic counter within the writer, to establish sequencing of chunks.
+ optional uint32 seq_id = 2;
+
+ // Each event is a byte sequence that encapsulates the bytes for a single
+ // Event (see event.proto) or an incomplete fragment.
+ // Why this isn't just a "repeated Events" field? An Event can spawn across
+ // several chunks. In this case the reader has to first glue the byte
+ // sequences together and then process the event.
+ repeated bytes events = 3;
+
+ // The first entry of |events| is a fragment which continues from the previous
+ // chunk.
+ optional bool first_event_continues_from_prev_chunk = 4;
+
+ // The last entry of |events| is a fragment and contiues into the next chunk.
+ optional bool last_event_continues_on_next_chunk = 5;
+}
« no previous file with comments | « components/tracing/core/trace_ring_buffer_unittest.cc ('k') | components/tracing/test/fake_scattered_buffer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698