Minor cleanup in PagingSelfAwareStructuredLogger #849
Merged
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.
Materialize the paged message before interacting with it.
Previously the message would be materialized multiple times:
1
: in call toaddMsgCtx
3
or1 + 3p
: in call topagedLogging
3
1
: calculate the number of pages1
: in call toaddPageCtx
(calculate the page length)1
: in call tologOpWithCtx
p
pages):1 + 3p
1
: calculate the number of pages1p
:msg
is materialized every time a page is sliced from the message1p
: in call toaddPageCtx
(calculate the page length)1p
: in call tologOpWithCtx
Materializing early gives these improvements:
4
times to1
time2 + 3p
times to1
timeRemoves some by-name parameters that were always called with materialized values.
Simplifies unneeded calls to
Show
onInt
orString
values, which doesn't have any particular benefit, particularly if it's inside of a string interpolation anyway.