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

Unified Diff: client/internal/logdog/butler/bundler/doc.go

Issue 1276923003: logdog: Add bundler library. (Closed) Base URL: https://github.com/luci/luci-go@logdog-review-streamserver
Patch Set: More documentation, simplified "bundlerStream" struct. Created 5 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: client/internal/logdog/butler/bundler/doc.go
diff --git a/client/internal/logdog/butler/bundler/doc.go b/client/internal/logdog/butler/bundler/doc.go
new file mode 100644
index 0000000000000000000000000000000000000000..fe8679a4a9453fa65cb24de66700eabab945bc5b
--- /dev/null
+++ b/client/internal/logdog/butler/bundler/doc.go
@@ -0,0 +1,25 @@
+// Copyright 2015 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.
+
+// Package bundler exports the Bundler interface and its implementation, as well
+// as supporting interfaces.
+//
+// A Bundler is responsible for efficiently buffering and clustering LogDog
+// Butler protobufs together for output. It primarily focused on two protobufs:
tandrii(chromium) 2015/08/11 18:31:05 nit: It *is* primarily...
dnj (Google) 2015/08/12 03:20:09 Done.
dnj 2015/09/02 01:58:14 Done.
+// - The ButlerLogBundle_Entry, which represents a series of logs and
+// metadata belongining to a single stream.
tandrii(chromium) 2015/08/11 18:31:05 s/belongining/belonging
dnj (Google) 2015/08/12 03:20:09 Done.
dnj 2015/09/02 01:58:14 Done.
+// - The LogEntry, which is a single chunk of unqualified log data.
+//
+// These protobufs comprise log data, and are grouped together for export in
+// a ButlerLogBundle protobuf.
+//
+// A ButlerLogBundle_Entry will be exported if it matches ANY of the following
+// conditions:
+// - It has attached log data.
+// - It has terminal information.
+//
+// Since LogDog outputs can be size-constrained, the Bundler tracks the expected
+// aggregate buffered protobuf size and, on export, breaks the buffered
+// protobufs into bundles along a size threshold boundary.
+package bundler

Powered by Google App Engine
This is Rietveld 408576698