-
Notifications
You must be signed in to change notification settings - Fork 545
docs: inputs: add thread.ring_buffer.retry_limit option #2363
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
docs: inputs: add thread.ring_buffer.retry_limit option #2363
Conversation
📝 WalkthroughWalkthroughDocumentation updates to four input plugin guides adding the Changes
Sequence Diagram(s)(omitted) Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 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. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Adds documentation for the new thread.ring_buffer.retry_limit input configuration option (retry attempts before dropping data when the threaded ring buffer is full).
Changes:
- Documented
thread.ring_buffer.retry_limitfortail,opentelemetry,prometheus-textfile, andblobinputs. - Described behavior (max retries, 100ms wait per retry) and default value (
10).
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| pipeline/inputs/tail.md | Adds thread.ring_buffer.retry_limit to the Tail input config table. |
| pipeline/inputs/opentelemetry.md | Adds thread.ring_buffer.retry_limit to the OpenTelemetry input config table. |
| pipeline/inputs/prometheus-textfile.md | Adds thread.ring_buffer.retry_limit to the Prometheus textfile input config table. |
| pipeline/inputs/blob.md | Adds thread.ring_buffer.retry_limit to the Blob input config table (but key prefix is inconsistent with adjacent entries). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@pipeline/inputs/blob.md`:
- Around line 24-26: The three ring buffer parameters must use the same
namespace; replace the incorrect parameter name thread.ring_buffer.retry_limit
with threaded.ring_buffer.retry_limit so all three read
threaded.ring_buffer.capacity, threaded.ring_buffer.window and
threaded.ring_buffer.retry_limit; update the occurrence of
thread.ring_buffer.retry_limit in blob.md to threaded.ring_buffer.retry_limit to
match the other inputs and maintain naming consistency.
pipeline/inputs/blob.md
Outdated
| | `threaded.ring_buffer.capacity` | Set custom ring buffer capacity when the input runs in threaded mode. This determines how many records can be buffered in the ring buffer before blocking. | `1024` | | ||
| | `threaded.ring_buffer.window` | Set custom ring buffer window percentage for threaded inputs. This controls when the ring buffer is considered "full" and triggers backpressure handling. | `5` | | ||
| | `thread.ring_buffer.retry_limit` | Maximum number of retry attempts when the ring buffer is full before dropping data. Each retry waits 100ms. | `10` | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Get repository structure overview
echo "=== Repository structure ==="
ls -la
echo -e "\n=== Check for input plugin directories ==="
find . -type d -name "inputs" | head -20
echo -e "\n=== List files in pipeline/inputs ==="
ls -la pipeline/inputs/ | head -30Repository: fluent/fluent-bit-docs
Length of output: 3738
🏁 Script executed:
#!/bin/bash
# Check blob.md around lines 24-26
echo "=== blob.md lines 20-30 ==="
sed -n '20,30p' pipeline/inputs/blob.md
# Also check what parameters are in the table
echo -e "\n=== Search for ring_buffer in blob.md ==="
grep -n "ring_buffer" pipeline/inputs/blob.md
# Check other input plugins for ring_buffer parameters
echo -e "\n=== Check for ring_buffer in other input plugins ==="
grep -l "ring_buffer" pipeline/inputs/*.md
# If found, show the exact parameter names in other plugins
echo -e "\n=== ring_buffer parameters in other plugins ==="
for file in $(grep -l "ring_buffer" pipeline/inputs/*.md); do
echo "File: $file"
grep -n "ring_buffer" "$file"
doneRepository: fluent/fluent-bit-docs
Length of output: 10541
Fix parameter naming consistency in blob.md.
Lines 24-25 use threaded.ring_buffer.* while line 26 uses thread.ring_buffer.*. All other input plugins (tail, prometheus-textfile, opentelemetry) consistently use thread.ring_buffer.* for all three parameters. Update lines 24-25 to use thread.ring_buffer.capacity and thread.ring_buffer.window respectively.
🧰 Tools
🪛 LanguageTool
[grammar] ~26-~26: Ensure spelling is correct
Context: ... before dropping data. Each retry waits 100ms. ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🤖 Prompt for AI Agents
In `@pipeline/inputs/blob.md` around lines 24 - 26, The three ring buffer
parameters must use the same namespace; replace the incorrect parameter name
thread.ring_buffer.retry_limit with threaded.ring_buffer.retry_limit so all
three read threaded.ring_buffer.capacity, threaded.ring_buffer.window and
threaded.ring_buffer.retry_limit; update the occurrence of
thread.ring_buffer.retry_limit in blob.md to threaded.ring_buffer.retry_limit to
match the other inputs and maintain naming consistency.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The existing threaded.ring_buffer.capacity and threaded.ring_buffer.window keys in blob.md are incorrectly documented. The actual config key prefix registered in the Fluent Bit source code is thread. (not threaded.), which is consistent with all other input plugins (tail, opentelemetry, prometheus_textfile, etc.).
The thread.ring_buffer.retry_limit key in this PR uses the correct prefix. The fix for the existing incorrect threaded. prefix in blob.md will be submitted in a separate PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jinyongchoi Thank you for the clarification! You're absolutely right—I apologize for the incorrect suggestion.
The thread.ring_buffer.retry_limit parameter in this PR uses the correct prefix consistent with the Fluent Bit source code and other input plugins. The existing threaded.ring_buffer.capacity and threaded.ring_buffer.window parameters in blob.md are indeed incorrectly documented and should be fixed in your separate PR.
Your current PR documentation is correct as-is. 👍
✏️ Learnings added
Learnt from: jinyongchoi
Repo: fluent/fluent-bit-docs PR: 2363
File: pipeline/inputs/blob.md:0-0
Timestamp: 2026-01-28T01:07:56.666Z
Learning: The correct configuration key prefix for ring buffer parameters in Fluent Bit input plugins is `thread.` (not `threaded.`). This applies to parameters like `thread.ring_buffer.capacity`, `thread.ring_buffer.window`, and `thread.ring_buffer.retry_limit` across all input plugins including tail, opentelemetry, prometheus-textfile, and blob.
Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.
0a251c6 to
ce45d76
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
🤖 Fix all issues with AI agents
In `@pipeline/inputs/opentelemetry.md`:
- Line 45: Update the unit formatting in the description for
`thread.ring_buffer.retry_limit`: replace "100ms" with "100 ms" using a
non-breaking space so the number and unit stay together (i.e., change the text
in the table cell to use "100 ms"). Ensure only the formatting of the unit is
changed and the rest of the description remains unchanged.
In `@pipeline/inputs/prometheus-textfile.md`:
- Line 21: Update the text for the `thread.ring_buffer.retry_limit` description
to use a non‑breaking space between the number and unit: replace "100ms" with
"100\u00A0ms" so the unit follows the FluentBit.Units style guide and avoids
line breaks (target the description string containing
`thread.ring_buffer.retry_limit`).
In `@pipeline/inputs/tail.md`:
- Line 50: Update the unit formatting for the `thread.ring_buffer.retry_limit`
description by replacing the hard space in "100ms" with a non-breaking space so
it reads "100\u00A0ms" (or use the HTML entity ` ` if appropriate for the
Markdown renderer); locate the table cell containing the text "Each retry waits
100ms." and change it to "Each retry waits 100\u00A0ms." to comply with the
FluentBit.Units style guide.
f3fe82c to
92f8e47
Compare
Add documentation for the new 'thread.ring_buffer.retry_limit' configuration option to the following input plugin pages: - tail - opentelemetry - prometheus-textfile - blob This option controls the maximum number of retry attempts when the ring buffer is full before dropping data. Each retry waits 100ms (hardcoded). The default value is 10. Refs: fluent/fluent-bit#113934 Signed-off-by: jinyong.choi <inimax801@gmail.com>
92f8e47 to
963dfda
Compare
Add documentation for the new 'thread.ring_buffer.retry_limit' configuration option to the following input plugin pages:
This option controls the maximum number of retry attempts when the ring buffer is full before dropping data. Each retry waits 100ms (hardcoded). The default value is 10.
Refs: fluent/fluent-bit#11394
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.