Flush hits when no activity from stdin #368
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
The script only processes the logs after
len(hits) >= options.recorder_max_payload_size * len(Recorders.recorders)
valid hits are detected. With the default settings, this is 200 hits or if EOF is hit.When the input file is
stdin
(e.g. when using syslog), and if used on a low traffic site, this makes it seem like nothing is happening, causing confusion (according to #258 and my own experiences) since the payload limit isn't hit and we never reach EOF.I have added a check where if using
stdin
and the buffer is empty, then the current hits are sent immediately, even if we haven't reached the max payload size.Caveats/potential issues/things to discuss:
stdin
buffer could potentially be filled?Review