Chromium Code Reviews| Index: common/logdog/protocol/butler.proto |
| diff --git a/common/logdog/protocol/butler.proto b/common/logdog/protocol/butler.proto |
| index aaea291e03fa96f3142f0eb4a3291c386823da7f..08abdda7daed5cb825cb8c361be4f51c271920d8 100644 |
| --- a/common/logdog/protocol/butler.proto |
| +++ b/common/logdog/protocol/butler.proto |
| @@ -8,6 +8,26 @@ import "log.proto"; |
| import "types.proto"; |
| /* |
| + * ButlerMetadata appears as a frame at the beginning of Butler published data |
| + * to describe the remainder of the contents. |
| + */ |
| +message ButlerMetadata { |
| + /* |
| + * This enumerates the possible contents of published Butler data. |
| + */ |
| + enum ContentType { |
| + /* The published data is a ButlerLogBundle protobuf message. */ |
| + ButlerLogBundle = 1; |
| + } |
| + /* This is the type of data in the subsequent frame. */ |
| + optional ContentType type = 1; |
| + |
| + /* If true, the content data is compressed. */ |
| + optional bool compressed = 2; |
| +} |
| + |
| + |
| +/* |
| * A message containing log data in transit from the Butler. |
| * |
| * The Butler is capable of conserving bandwidth by bundling collected log |
| @@ -36,6 +56,22 @@ message ButlerLogBundle { |
| optional Timestamp timestamp = 2; |
| /* |
| + * The log stream's secret value (required). |
|
iannucci
2015/08/26 18:33:33
log prefix's
|
| + * |
| + * The secret is generated by the Butler and unique to this specific log |
| + * stream. The Coordinator will record the secret associated with a given |
| + * log Prefix/Stream, but will not share the secret with a client. |
| + * |
| + * The Collector will check the secret prior to ingesting logs. If the |
| + * secret doesn't match the value recorded by the Coordinator, the log |
| + * will be discarded. |
| + * |
| + * This ensures that only the Butler instance that generated the log stream |
| + * can emit log data for that stream. |
| + */ |
| + optional bytes secret = 3; |
| + |
| + /* |
| * A bundle Entry describes a set of LogEntry messages originating from the |
| * same log stream. |
| */ |
| @@ -48,22 +84,6 @@ message ButlerLogBundle { |
| optional LogStreamDescriptor desc = 1; |
| /* |
| - * The log stream's secret value (required). |
| - * |
| - * The secret is generated by the Butler and unique to this specific log |
| - * stream. The Coordinator will record the secret associated with a given |
| - * log Prefix/Stream, but will not share the secret with a client. |
| - * |
| - * The Collector will check the secret prior to ingesting logs. If the |
| - * secret doesn't match the value recorded by the Coordinator, the log |
| - * will be discarded. |
| - * |
| - * This ensures that only the Butler instance that generated the log stream |
| - * can emit log data for that stream. |
| - */ |
| - optional bytes secret = 2; |
| - |
| - /* |
| * Whether this log entry terminates its stream. |
| * |
| * If present and "true", this field declares that this Entry is the last |
| @@ -78,16 +98,22 @@ message ButlerLogBundle { |
| optional bool terminal = 3; |
| /* |
| + * If terminal is true, this is the terminal stream index; that is, the last |
| + * message index in the stream. |
| + */ |
| + optional uint32 terminal_index = 4; |
| + |
| + /* |
| * Log entries attached to this record. These must be sequential and in |
| * order. |
| * |
| * This is the main log entry content. |
| */ |
| - repeated protocol.LogEntry logs = 4; |
| + repeated protocol.LogEntry logs = 5; |
| } |
| /** |
| * Each Entry is an individual set of log records for a given log stream. |
| */ |
| - repeated Entry entries = 5; |
| + repeated Entry entries = 4; |
| } |