logging: ensure we don't block the stack#566
Merged
djs55 merged 10 commits intomoby:masterfrom Apr 5, 2022
Merged
Conversation
c085df0 to
efb57b2
Compare
- replace "usernet" with "main", to reflect this is main.ml - add an explicit "Starting" message - remove uninteresting message about SIGPIPE Signed-off-by: David Scott <dave@recoil.org>
It's expected that config files we watch might not exist. Signed-off-by: David Scott <dave@recoil.org>
- it's not an error if the /etc/resolv.conf cannot be read (it probably does not exist) - it's an error (not a warning) if the file exists but cannot be parsed Signed-off-by: David Scott <dave@recoil.org>
It's best to keep each log message to one line, for easy parsing. Signed-off-by: David Scott <dave@recoil.org>
Signed-off-by: David Scott <dave@recoil.org>
The @[ ... @] would do fancy line splitting and alignment, which we really don't want. We want to stick to one line per log record for easy parsing. Signed-off-by: David Scott <dave@recoil.org>
Signed-off-by: David Scott <dave@recoil.org>
Previously the write to stderr would block the main (Lwt/Uwt) thread, blocking the stack. Instead, write to a memory buffer and drain the buffer from a real thread to guarantee we don't block the Lwt/Uwt universe. Signed-off-by: David Scott <dave@recoil.org>
Signed-off-by: David Scott <dave@recoil.org>
Signed-off-by: David Scott <dave@recoil.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Previously the logging is a plain write to "stderr" which can block the main Lwt/Uwt thread, blocking the stack.
Instead, log to a Buffer, and drain it in a background Thread. If the buffer is full, drop messages and increment a dropped bytes counter. Always log if we drop messages to help debugging.
Also some minor improvements: