| Index: base/trace_event/common/proto/events_chunk.proto
|
| diff --git a/base/trace_event/common/proto/events_chunk.proto b/base/trace_event/common/proto/events_chunk.proto
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..978c90c96b74724ebb09a1fd4ac8acab04806e5e
|
| --- /dev/null
|
| +++ b/base/trace_event/common/proto/events_chunk.proto
|
| @@ -0,0 +1,24 @@
|
| +syntax = "proto2";
|
| +option optimize_for = LITE_RUNTIME;
|
| +
|
| +package tracing;
|
| +
|
| +message EventsChunk {
|
| + // Chunks produced by the same trace writer have the same stream_id.
|
| + // This is to look up the next chunk for a given thread.
|
| + required uint32 stream_id = 1;
|
| +
|
| + // A monotonic counter within stream_id. To order chunks within the stream.
|
| + required uint32 seq_id_in_stream = 2;
|
| +
|
| + // Each event is a byte sequence that encapsulates the bytes for a single
|
| + // Event (see event.proto) or an incomplete portion of it.
|
| + // 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;
|
| + optional bool first_event_continues_from_prev_chunk = 4;
|
| + optional bool last_event_continues_on_next_chunk = 5;
|
| +
|
| + required uint32 num_events = 6; // TODO here for streaming: fixed?
|
| +}
|
|
|