Repository navigation
Reduce full-detail HTML report rendering allocations - #148
Merged
Merged
Conversation
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.
Full-detail event reports copied complete HTML strings through nested monitoring containers. Upgrade the reporting engine to the public HtmlForgeX 1.2.0 package, which renders those containers and deferred record JSON into one owning buffer. The reusable implementation is merged in HtmlForgeX #321; EventViewerX consumes it through its existing package reference and all eleven locked package graphs.
The comparable renderer fixture drops 10,000-row cumulative allocations from 1,158 MB to 223 MB, an 80.7% reduction, with identical HTML apart from its timestamp. The signed package with minified release assets measures about 220 MB and retains all 10,000 records, filtering and the detail drawer. These numbers measure cumulative rendering allocations, not peak working set. The bounded email digest remains about 11.9 MB.
Validation: twelve benchmark samples pass; wide and compact browser checks inspect the final record. The public package restores on .NET 8 and .NET 10, its signatures and contents are verified, and 50 reporting tests pass on each framework using its exact DLLs. Published method bodies and embedded resources match the prepared package used for the benchmark and visual checks. Other dependency nodes and PowerForge lock metadata are unchanged. No runtime shim or additional dependency is introduced.