Detailed read/write statistics and histograms#244
Open
abzmr wants to merge 3 commits intoarchiecobbs:masterfrom
Open
Detailed read/write statistics and histograms#244abzmr wants to merge 3 commits intoarchiecobbs:masterfrom
abzmr wants to merge 3 commits intoarchiecobbs:masterfrom
Conversation
added 2 commits
October 10, 2025 21:39
Write stats now provide more details to gauge effects of blocksize choice: write_hits_fullblock - Block was in cache and was fully overwritten write_hits_partialblock - Block was in cache and was partially overwritten write_misses_fullblock - Full block was newly introduced into cache write_misses_partialblock - Block was downloaded(*) and then partially overwritten (*) Note that zero-cache has already been passed, so download will always be attempted even if known to be all-zero or non-existent.
For operations executed via the FUSE and NBD front-ends, detailed statistics are now recorded. These may help to evaluate blocksize choice for the specific use case. "Requestbytes" and "requestalign" provide histograms on front-end request size and alignment, which are independent of any s3backer settings. "Requestalign" smaller than blocksize means initial partial block access per front-end request. "Fullblocks" and "trailerbytes" provide histograms on the number of complete blocks resp. trailing partial blocks per front-end request. These are available separately for read and write requests; and also trim in case of NBD.
FUSE uses fallocate(PUNCH_HOLE) to pass TRIM requests. And since that is the only variant actually executed in fuse_ops.c, record these requests into TRIM histogram.
Owner
|
Two suggestions on this patch... Instead of replacing counters, just add new ones. E.g., keep The histogram stuff might be better off in a new file, i.e., a peer of |
Author
|
Thanks for the good suggestions. |
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.
Improve statistics to get insights into actual FUSE/NBD access patterns. See both commit comments for more details.
These were some quick hacks that work fine, and could possibly use some more beautification :)
Stats file format is changed somewhat, which might bite people that process it.