Sfoglia il codice sorgente

Update comments describing new behaviour

Signed-off-by: Justin Menga <justin.menga@gmail.com>
Justin Menga 8 anni fa
parent
commit
dc87490b63
1 ha cambiato i file con 17 aggiunte e 15 eliminazioni
  1. 17 15
      daemon/logger/awslogs/cloudwatchlogs.go

+ 17 - 15
daemon/logger/awslogs/cloudwatchlogs.go

@@ -359,22 +359,16 @@ var newTicker = func(freq time.Duration) *time.Ticker {
 }
 
 // collectBatch executes as a goroutine to perform batching of log events for
-// submission to the log stream.  Batching is performed on time- and size-
-// bases.  Time-based batching occurs at a 5 second interval (defined in the
-// batchPublishFrequency const).  Size-based batching is performed on the
-// maximum number of events per batch (defined in maximumLogEventsPerPut) and
-// the maximum number of total bytes in a batch (defined in
-// maximumBytesPerPut).  Log messages are split by the maximum bytes per event
-// (defined in maximumBytesPerEvent).  There is a fixed per-event byte overhead
-// (defined in perEventBytes) which is accounted for in split- and batch-
-// calculations.  If the awslogs-multiline-pattern or awslogs-datetime-format
-// options have been configured, multiline processing is enabled, where
-// log messages are stored in an event buffer until a multiline pattern match
-// is found, at which point the messages in the event buffer are pushed to
-// CloudWatch logs as a single log event.  Multline messages still are processed
+// submission to the log stream.  If the awslogs-multiline-pattern or
+// awslogs-datetime-format options have been configured, multiline processing
+// is enabled, where log messages are stored in an event buffer until a multiline
+// pattern match is found, at which point the messages in the event buffer are
+// pushed to CloudWatch logs as a single log event.  Multline messages are processed
 // according to the maximumBytesPerPut constraint, and the implementation only
 // allows for messages to be buffered for a maximum of 2*batchPublishFrequency
-// seconds.
+// seconds.  When events are ready to be processed for submission to CloudWatch
+// Logs, the processEvents method is called.  If a multiline pattern is not
+// configured, log events are submitted to the processEvents method immediately.
 func (l *logStream) collectBatch() {
 	timer := newTicker(batchPublishFrequency)
 	var events []wrappedEvent
@@ -429,7 +423,15 @@ func (l *logStream) collectBatch() {
 	}
 }
 
-// processEvent processes log events
+// processEvent processes log events that are ready for submission to CloudWatch
+// logs.  Batching is performed on time- and size-bases.  Time-based batching
+// occurs at a 5 second interval (defined in the batchPublishFrequency const).
+// Size-based batching is performed on the maximum number of events per batch
+// (defined in maximumLogEventsPerPut) and the maximum number of total bytes in a
+// batch (defined in maximumBytesPerPut).  Log messages are split by the maximum
+// bytes per event (defined in maximumBytesPerEvent).  There is a fixed per-event
+// byte overhead (defined in perEventBytes) which is accounted for in split- and
+// batch-calculations.
 func (l *logStream) processEvent(events []wrappedEvent, unprocessedLine []byte, timestamp int64) []wrappedEvent {
 	bytes := 0
 	for len(unprocessedLine) > 0 {