Expose disruptor discard count in AsyncLoggerContext #1927
Closed
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.
I would like to monitor the disruptor's discard count on a periodic basis so that I can tell if events are being discarded due to the queue being full, and how often it is happening if so. As it stands, this count is not accessible outside of the AsyncLoggerDisruptor, and the discard count is only published in a trace log when the logger is stopped.
I considered adding this to RingBufferAdminMBean but since it currently monitors the backing ring buffer, and not the disruptor itself, it did not seem to fit.
This is my first contribution so I'm unsure if this meets the bar for a changelog entry, and whether or not this needs an issue to be cut beforehand, and if I incremented the log4j-core version correctly (it was required for
mvnw verify
to work, otherwise the baseline plugin failed the build).Checklist
2.x
branch if you are targeting Log4j 2; usemain
otherwise./mvnw verify
succeeds (if it fails due to code formatting issues reported by Spotless, simply run./mvnw spotless:apply
and retry)src/changelog/.2.x.x
directory