Skip to content

docs: buffering: document memrb storage type and improve coverage#2374

Open
eschabell wants to merge 1 commit intofluent:masterfrom
eschabell:erics_buffering_fix
Open

docs: buffering: document memrb storage type and improve coverage#2374
eschabell wants to merge 1 commit intofluent:masterfrom
eschabell:erics_buffering_fix

Conversation

@eschabell
Copy link
Collaborator

@eschabell eschabell commented Feb 13, 2026

  • Add memory ring buffer (memrb) as third buffering mode section
  • Update intro from "two modes" to "three modes"
  • Add memrb as accepted value for per-input storage.type
  • Add memrb configuration examples in YAML and classic formats
  • Document memrb_dropped_chunks and memrb_dropped_bytes metrics
  • Add note about storage.inherit and global storage.type usage
  • Sort per-input settings table alphabetically by key

Fixes #2373

Summary by CodeRabbit

  • Documentation
    • Documented a new memory ring buffer (memrb) buffering mode for high-throughput scenarios, explaining its drop-when-full behavior
    • Added metrics to track dropped chunks and dropped bytes in memrb mode
    • Updated configuration guidance and examples to include memrb as a valid storage.type and show inheritance/override of default buffering
    • Clarified mem_buf_limit semantics and example configurations for all three buffering modes

@eschabell eschabell self-assigned this Feb 13, 2026
@eschabell eschabell added the waiting-on-review Waiting on a review from mainteners label Feb 13, 2026
@eschabell eschabell requested a review from a team as a code owner February 13, 2026 11:27
@eschabell eschabell added the 5.0 label Feb 13, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 13, 2026

Warning

Rate limit exceeded

@eschabell has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 15 minutes and 43 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📝 Walkthrough

Walkthrough

Adds a new memory ring buffer mode ("memrb") to buffering documentation, expands buffering modes to three (memory-only, memrb, filesystem), documents memrb behavior and metrics, updates configuration reference and examples, and adds guidance for global/per-input storage.type inheritance.

Changes

Cohort / File(s) Summary
Buffering Documentation
pipeline/buffering.md
Introduce memrb storage.type; describe fixed-size in-memory ring semantics and automatic dropping of oldest chunks when full; add memrb_dropped_chunks and memrb_dropped_bytes metrics; update mem_buf_limit and storage.type docs, global/per-input inheritance examples, and YAML/fluent-bit.conf examples to include memrb.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • cosmo0920
  • esmerel

Poem

🐰 Soft rings of memory, round and bright,
Old chunks step aside for new delight,
Metrics count what time lets go,
Docs explain the steady flow,
Hop along — the buffer's light! ✨

🚥 Pre-merge checks | ✅ 6
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title clearly and concisely summarizes the main change: documenting the memrb storage type and improving buffering documentation coverage.
Linked Issues check ✅ Passed The PR addresses all objectives from issue #2373: documents memrb mode, provides configuration examples in YAML and classic formats, includes new metrics (memrb_dropped_chunks and memrb_dropped_bytes), and clarifies storage.inherit behavior.
Out of Scope Changes check ✅ Passed All changes are within scope of documenting the memrb buffering mode and improving buffering coverage. The alphabetical sorting of the per-input settings table is a minor organizational improvement directly supporting better documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into master

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR enhances the Fluent Bit buffering documentation by adding comprehensive coverage for the memory ring buffer (memrb) storage type, which joins memory-only and filesystem as the third buffering mode. The documentation now accurately reflects that Fluent Bit supports three buffering modes rather than two, and provides detailed information about memrb's behavior, configuration, and monitoring capabilities.

Changes:

  • Updated buffering modes introduction to describe three modes instead of two
  • Added new "Memory ring buffer buffering" section explaining memrb behavior and use cases
  • Updated storage.type parameter documentation to include memrb as an accepted value
  • Added memrb configuration examples in both YAML and classic formats
  • Documented memrb-specific metrics (memrb_dropped_chunks and memrb_dropped_bytes)
  • Added note about storage.inherit and global storage.type configuration

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@pipeline/buffering.md`:
- Line 92: The doc text for mem_buf_limit conflicts with examples referencing
storage.type: memrb; update the description of mem_buf_limit to state explicitly
whether it applies to memory-only buffering and/or memrb mode. Modify the
paragraph for the `mem_buf_limit` entry so it clarifies scope (e.g., "If
memory-only buffering or memrb storage is used, sets a limit..."), mention that
the value must follow unit size specs, and keep the default behavior note
(unspecified means no limit). Ensure references to `mem_buf_limit` and
`storage.type: memrb` in examples remain consistent with this new description.
- Around line 84-85: Remove the incorrect reference to storage.inherit in the
service section and update the sentence to accurately explain buffering
defaults: state that you set a global default by configuring storage.type in the
service section and that input plugins that do not explicitly set their own
storage.type will inherit the global storage.type by default; replace or remove
any mention of storage.inherit and, if helpful, add a short note that per-plugin
buffering is configured via each input's storage.type setting.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  - Add memory ring buffer (memrb) as third buffering mode section
  - Update intro from "two modes" to "three modes"
  - Add memrb as accepted value for per-input storage.type
  - Add memrb configuration examples in YAML and classic formats
  - Document memrb_dropped_chunks and memrb_dropped_bytes metrics
  - Add note about storage.inherit and global storage.type usage
  - Sort per-input settings table alphabetically by key
  - Clarify mem_buf_limit applies to both memory-only and memrb modes
  - Add storage.inherit configuration example with YAML and classic formats
  - fix Log_Level capitalization in classic format examples

Fixes fluent#2373

Signed-off-by: Eric D. Schabell <eric@schabell.org>
@eschabell
Copy link
Collaborator Author

@cosmo0920 and @patrick-stephens ready for review!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

5.0 waiting-on-review Waiting on a review from mainteners

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Buffering doc missing configuration parameters

1 participant