feat(metrics): Adding streaming write fallback count metric#4630
feat(metrics): Adding streaming write fallback count metric#4630thrivikram-karur-g wants to merge 3 commits intomasterfrom
Conversation
Capture streaming fallback with reasons across codebase
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces observability into the streaming write fallback mechanism within the file system. By adding a new counter metric, it enables better monitoring and analysis of why streaming writes may not be utilized, helping to identify performance bottlenecks or configuration issues related to write operations. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces a new metric, fs/streaming_write_fallback_count, to track when the system falls back from streaming writes to legacy staged writes. The changes include updating the FileInode struct and its methods to record these fallbacks with specific reasons such as out-of-order writes, concurrent limits, or existing files. Additionally, the metrics package was updated with new types, constants, and OTel test coverage. One review comment points out a discrepancy in the documentation where the metric is described as a 'cumulative distribution' despite being defined as a counter in the YAML configuration.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #4630 +/- ##
==========================================
+ Coverage 83.64% 83.70% +0.06%
==========================================
Files 164 164
Lines 20272 20439 +167
==========================================
+ Hits 16956 17109 +153
- Misses 2676 2690 +14
Partials 640 640
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:
|
Description
Adding streaming write fallback metrics that tracks the reason for the fallback and also which file mode & flag it fell back to staging writes. Useful for understanding why streaming writes fallback hasn't been picked .
Link to the issue in case of a bug fix.
b/499889281
Testing details
Any backward incompatible change? If so, please explain.
N/A