feat(metrics): keep read_bytes_count unchanged and add experimental_read_bytes_count and transition tracking#4720
Draft
kislaykishore wants to merge 11 commits into
Draft
feat(metrics): keep read_bytes_count unchanged and add experimental_read_bytes_count and transition tracking#4720kislaykishore wants to merge 11 commits into
kislaykishore wants to merge 11 commits into
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #4720 +/- ##
==========================================
+ Coverage 83.70% 83.75% +0.05%
==========================================
Files 168 168
Lines 20740 21057 +317
==========================================
+ Hits 17360 17636 +276
- Misses 2734 2772 +38
- Partials 646 649 +3
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…ead_bytes_count and transition tracking
…and contiguous read transitions. Also fix panic bug in metrics verification utils.
…t to read/experimental_read_type_transitions_count. Regenerate metric mappings and update all classifiers, mock implementations, and integration test cases.
…lassifier constructor, allowing removal of defensive nil checks across classifier calls
…peClassifier test calls to prevent mock/test handle omissions
…ers from ComputeSeqPrefetchWindowAndAdjustType to reduce cyclomatic complexity
…a single transitionTo method, fully eliminating code duplication
4984809 to
4ac9fe3
Compare
…andom preemption, explicit_close, forced_recreate, and inactive_timeout, add testify unit test suites, and write developer metrics documentation
…cancellations, define DRY config reasons YAML anchor, and add complete OTel/testify tests suites
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.
Description
Reverted the
gcs/read_bytes_countmetric to stay unchanged (zero attributes, original description). Added a new attributed metricgcs/experimental_read_bytes_counttracking read bytes categorized byread_typeattributes (Parallel, Random, Sequential, Unknown).Additionally, introduced sequential-to-random read access transition reasons tracking:
gcs/experimental_sequential_to_random_transitions_countmapped to transition reasons:backward_seek,forward_seek, andinitial_offset_non_zero.ReadTypeClassifier) to dynamically classify and atomically switch state (using thread-safeCompareAndSwap) on sequential to random transitions.read_type_classifier_test.goand updated high-level integration test assertions in bothgcs_metrics_test.goandmetrics_test.go.Link to the issue in case of a bug fix.
N/A (At user's direct request)
Testing details
make build) successfully with 0 warnings/issues.metricspackage (go test -v ./metrics/...) andgcsxpackage (go test -v ./internal/gcsx/... -run TestReadTypeClassifier) completely successfully.go test -v ./internal/fs/... -run "TestGCSMetrics|TestReadFile"), fully verifying metrics behaviors under file cache hit/miss cycles, sequential readers, buffered prefetch pipelines, and parallel MRD downloads.Any backward incompatible change? If so, please explain.
N/A (Reverted
gcs/read_bytes_countback to its original signature, making it fully backwards-compatible for all active telemetry consumers).