-
Notifications
You must be signed in to change notification settings - Fork 544
processor_tda: Add documentation for processor_tda #2277
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?
Conversation
|
Warning Rate limit exceeded@cosmo0920 has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 8 minutes and 21 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the 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. 📒 Files selected for processing (1)
WalkthroughAdded documentation for a new Topological Data Analysis (TDA) processor: Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant FluentBit as Fluent Bit pipeline
participant TDA as TDA Processor
participant Ripser as Ripser PH Library
participant Exporter as Metrics Exporter
FluentBit->>TDA: emit aggregated/normalized metrics (sliding window)
TDA->>TDA: optional delay embedding -> distance matrix -> threshold selection
TDA->>Ripser: compute persistent homology (H0..H2)
Ripser-->>TDA: persistence intervals / Betti counts
TDA->>Exporter: expose metrics (`fluentbit_tda_betti0/1/2`)
Exporter-->>Monitoring: scrape/collect metrics
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Possibly related PRs
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
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.
Actionable comments posted: 9
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
pipeline/processors.md(1 hunks)pipeline/processors/tda.md(1 hunks)
🧰 Additional context used
🪛 GitHub Actions: Lint PRs
pipeline/processors/tda.md
[error] 3-3: FluentBit.EmDash: Don't put a space before or after a dash.
[error] 3-3: FluentBit.EnDash: Use an em dash ('—') instead of '–'.
[error] 80-80: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 112-112: FluentBit.EnDash: Use an em dash ('—') instead of '–'.
[error] 116-116: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 136-136: FluentBit.EmDash: Don't put a space before or after a dash.
[error] 136-136: FluentBit.EnDash: Use an em dash ('—') instead of '–'.
[error] 138-138: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 138-138: FluentBit.EnDash: Use an em dash ('—') instead of '–'.
[error] 138-138: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 173-173: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 173-173: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 173-173: FluentBit.Latin: Use 'for example' instead of 'e.g.,'.
[warning] 173-173: FluentBit.Latin: Use 'for example' instead of 'e.g.,'.
[error] 173-173: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 173-173: FluentBit.Latin: Use 'for example' instead of 'e.g.,'.
[error] 173-173: FluentBit.EnDash: Use an em dash ('—') instead of '–'.
[error] 173-173: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 173-173: FluentBit.Latin: Use 'for example' instead of 'e.g.,'.
[error] 173-173: FluentBit.SentenceLengthLong: Improve readability by using fewer than 35 words in this sentence.
[error] 173-173: FluentBit.Latin: Use 'for example' instead of 'e.g.,'.
[error] 173-173: FluentBit.EnDash: Use an em dash ('—') instead of '–'.
[error] 173-173: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 173-173: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 173-173: FluentBit.Latin: Use 'for example' instead of 'e.g.,'.
[error] 173-173: FluentBit.SentenceLengthLong: Improve readability by using fewer than 35 words in this sentence.
[error] 173-173: FluentBit.Latin: Use 'through or by using' instead of ' via '.
[warning] 173-173: FluentBit.Headings: 'Interpreting Betti numbers' should use sentence-style capitalization.
[error] 173-173: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 173-173: FluentBit.EnDash: Use an em dash ('—') instead of '–'.
[error] 283-283: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 283-283: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 283-283: FluentBit.EnDash: Use an em dash ('—') instead of '–'.
[error] 283-283: FluentBit.Latin: Use 'for example' instead of 'e.g.,'.
[error] 283-283: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 283-283: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 283-283: FluentBit.EnDash: Use an em dash ('—') instead of '–'.
[error] 283-283: FluentBit.Latin: Use 'for example' instead of 'e.g.,'.
[error] 283-283: FluentBit.SentenceLengthLong: Improve readability by using fewer than 35 words in this sentence.
[error] 283-283: FluentBit.Latin: Use 'through or by using' instead of ' via '.
[error] 283-283: FluentBit.Headings: 'Interpreting Betti numbers' should use sentence-style capitalization.
[error] 283-283: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 283-283: FluentBit.EnDash: Use an em dash ('—') instead of '–'.
[warning] 283-283: FluentBit.Latin: Use 'for example' instead of 'e.g.,'.
[error] 283-283: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[warning] 283-283: FluentBit.SentenceLengthLong: Improve readability by using fewer than 35 words in this sentence.
[error] 283-283: FluentBit.EnDash: Use an em dash ('—') instead of '–'.
[error] 283-283: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
[error] 283-283: FluentBit.Latin: Use 'for example' instead of 'e.g.,'.
[error] 283-283: FluentBit.SentenceLengthLong: Improve readability by using fewer than 35 words in this sentence.
[error] 283-283: FluentBit.NonStandardQuotes: Use standard single quotes or double quotes only. Do not use left or right quotes.
🪛 GitHub Check: runner / vale
pipeline/processors.md
[warning] 24-24:
[vale] reported by reviewdog 🐶
[FluentBit.Acronyms] Spell out 'TDA', if it's unfamiliar to the audience.
Raw Output:
{"message": "[FluentBit.Acronyms] Spell out 'TDA', if it's unfamiliar to the audience.", "location": {"path": "pipeline/processors.md", "range": {"start": {"line": 24, "column": 4}}}, "severity": "INFO"}
pipeline/processors/tda.md
[failure] 99-99:
[vale] reported by reviewdog 🐶
[FluentBit.Latin] Use 'for example' instead of 'e.g. '.
Raw Output:
{"message": "[FluentBit.Latin] Use 'for example' instead of 'e.g. '.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 99, "column": 93}}}, "severity": "ERROR"}
[failure] 80-80:
[vale] reported by reviewdog 🐶
[FluentBit.NonStandardQuotes] Use standard single quotes or double quotes only. Do not use left or right quotes.
Raw Output:
{"message": "[FluentBit.NonStandardQuotes] Use standard single quotes or double quotes only. Do not use left or right quotes.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 80, "column": 54}}}, "severity": "ERROR"}
[failure] 80-80:
[vale] reported by reviewdog 🐶
[FluentBit.NonStandardQuotes] Use standard single quotes or double quotes only. Do not use left or right quotes.
Raw Output:
{"message": "[FluentBit.NonStandardQuotes] Use standard single quotes or double quotes only. Do not use left or right quotes.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 80, "column": 45}}}, "severity": "ERROR"}
[warning] 68-68:
[vale] reported by reviewdog 🐶
[FluentBit.We] Try to avoid using first-person plural like 'we'.
Raw Output:
{"message": "[FluentBit.We] Try to avoid using first-person plural like 'we'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 68, "column": 9}}}, "severity": "INFO"}
[warning] 63-63:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'x_t'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'x_t'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 63, "column": 12}}}, "severity": "INFO"}
[warning] 63-63:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'x_t'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'x_t'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 63, "column": 1}}}, "severity": "INFO"}
[failure] 51-51:
[vale] reported by reviewdog 🐶
[FluentBit.Latin] Use 'through or by using' instead of ' via '.
Raw Output:
{"message": "[FluentBit.Latin] Use 'through or by using' instead of ' via '.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 51, "column": 101}}}, "severity": "ERROR"}
[warning] 49-49:
[vale] reported by reviewdog 🐶
[FluentBit.Contractions] Feel free to use 'that's' instead of 'that is'.
Raw Output:
{"message": "[FluentBit.Contractions] Feel free to use 'that's' instead of 'that is'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 49, "column": 87}}}, "severity": "INFO"}
[warning] 48-48:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'bursty'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'bursty'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 48, "column": 47}}}, "severity": "INFO"}
[warning] 34-34:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'untyped'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'untyped'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 34, "column": 30}}}, "severity": "INFO"}
[warning] 19-19:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'Takens'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'Takens'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 19, "column": 189}}}, "severity": "INFO"}
[failure] 3-3:
[vale] reported by reviewdog 🐶
[FluentBit.NonStandardQuotes] Use standard single quotes or double quotes only. Do not use left or right quotes.
Raw Output:
{"message": "[FluentBit.NonStandardQuotes] Use standard single quotes or double quotes only. Do not use left or right quotes.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 3, "column": 120}}}, "severity": "ERROR"}
[failure] 3-3:
[vale] reported by reviewdog 🐶
[FluentBit.EnDash] Use an em dash ('—') instead of '–'.
Raw Output:
{"message": "[FluentBit.EnDash] Use an em dash ('—') instead of '–'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 3, "column": 105}}}, "severity": "ERROR"}
[failure] 3-3:
[vale] reported by reviewdog 🐶
[FluentBit.EmDash] Don't put a space before or after a dash.
Raw Output:
{"message": "[FluentBit.EmDash] Don't put a space before or after a dash.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 3, "column": 104}}}, "severity": "ERROR"}
[failure] 3-3:
[vale] reported by reviewdog 🐶
[FluentBit.EnDash] Use an em dash ('—') instead of '–'.
Raw Output:
{"message": "[FluentBit.EnDash] Use an em dash ('—') instead of '–'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 3, "column": 65}}}, "severity": "ERROR"}
[failure] 3-3:
[vale] reported by reviewdog 🐶
[FluentBit.EmDash] Don't put a space before or after a dash.
Raw Output:
{"message": "[FluentBit.EmDash] Don't put a space before or after a dash.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 3, "column": 64}}}, "severity": "ERROR"}
[warning] 1-1:
[vale] reported by reviewdog 🐶
[FluentBit.Acronyms] Spell out 'TDA', if it's unfamiliar to the audience.
Raw Output:
{"message": "[FluentBit.Acronyms] Spell out 'TDA', if it's unfamiliar to the audience.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 1, "column": 3}}}, "severity": "INFO"}
[warning] 1-1:
[vale] reported by reviewdog 🐶
[FluentBit.Headings] 'TDA' should use sentence-style capitalization.
Raw Output:
{"message": "[FluentBit.Headings] 'TDA' should use sentence-style capitalization.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 1, "column": 3}}}, "severity": "INFO"}
🪛 LanguageTool
pipeline/processors/tda.md
[style] ~5-~5: To elevate your writing, try using a synonym here.
Context: ...intermittent instabilities that are hard to see from individual counters, gauges...
(HARD_TO)
[style] ~122-~122: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...ath})) from Ripser. * Intervals with very small persistence are filtered out, and the r...
(EN_WEAK_ADJECTIVE)
[style] ~150-~150: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...dimensional holes (loops / cycles). * Betti₂ – 2-dimensional voids, and so on. I...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~163-~163: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ... Betti₁ and Betti₂ are typically 0 or very small. 2. Single, one-off failure * ...
(EN_WEAK_ADJECTIVE)
[style] ~266-~266: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...ise hides coherent structure. * You want to build alerts not just on “levels” of me...
(REP_WANT_TO_VB)
🔇 Additional comments (1)
pipeline/processors/tda.md (1)
112-140: Fix em-dash formatting and non-standard quotes in middle sections.Lines 112–139 contain multiple linting violations:
- Line 112: En-dash/em-dash formatting issues
- Lines 116, 138: Non-standard quotes with em-dashes
- Line 136: Space before/after em-dash
These must be corrected to conform to documentation standards. Apply the following fixes:
-Once the compressed lower-triangular distance matrix is built, it is passed to a thin wrapper around **Ripser**, a well-known implementation of Vietoris–Rips persistent homology: +Once the compressed lower-triangular distance matrix is built, it is passed to a thin wrapper around **Ripser**, a well-known implementation of Vietoris—Rips persistent homology:- * The dense `n_embed × n_embed` matrix is converted into Ripser's `compressed_lower_distance_matrix`. + * The dense `n_embed × n_embed` matrix is converted into Ripser's "compressed_lower_distance_matrix".-| `fluentbit_tda_betti0` | gauge | Approximate Betti₀ – number of connected components (clusters) in the embedded point cloud at the selected scale. Large values indicate fragmentation into many "micro-regimes". | +| `fluentbit_tda_betti0` | gauge | Approximate Betti₀—number of connected components (clusters) in the embedded point cloud at the selected scale. Large values indicate fragmentation into many "micro-regimes". |-| `fluentbit_tda_betti1` | gauge | Approximate Betti₁ – number of 1-dimensional loops / cycles in the Rips complex. Non-zero values often signal **recurrent, quasi-periodic, or cycling behavior**, typical of intermittent failure / recovery patterns and other regime switches. | +| `fluentbit_tda_betti1` | gauge | Approximate Betti₁—number of 1-dimensional loops / cycles in the Rips complex. Non-zero values often signal **recurrent, quasi-periodic, or cycling behavior**, typical of intermittent failure / recovery patterns and other regime switches. |-| `fluentbit_tda_betti2` | gauge | Approximate Betti₂ – number of 2-dimensional voids (higher-order structures). These can appear when the system explores different "surfaces" in state space, e.g., transitioning between distinct operating modes. | +| `fluentbit_tda_betti2` | gauge | Approximate Betti₂—number of 2-dimensional voids (higher-order structures). These can appear when the system explores different "surfaces" in state space, for example, transitioning between distinct operating modes. |Likely an incorrect or invalid review comment.
Signed-off-by: Hiroshi Hatake <[email protected]>
Signed-off-by: Hiroshi Hatake <[email protected]>
Signed-off-by: Hiroshi Hatake <[email protected]>
390e607 to
155e3f9
Compare
Signed-off-by: Hiroshi Hatake <[email protected]>
33bb56d to
a416f40
Compare
Signed-off-by: Hiroshi Hatake <[email protected]>
42defbf to
4bbcb37
Compare
| | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | | ||
| | `window_size` | Number of samples to keep in the TDA sliding window. This controls how far back in time the topology is estimated. | `60` | | ||
| | `min_points` | Minimum number of samples required in the window before running TDA. Until this limit is reached, no Betti metrics are emitted. | `10` | | ||
| | `embed_dim` | Delay embedding dimension `m`. `m = 1` disables embedding (original behavior). For example, `m = 3` reconstructs state vectors `(x_t, x_{t-τ}, x_{t-2τ})` as suggested by Takens theorem. | `3` | |
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.
Takens is a name of researcher. So, it should be valid but vale complains its term.
| On each metrics flush, `tda`: | ||
|
|
||
| 1. **Groups metrics by `(namespace, subsystem)`** | ||
| All counters, gauges, and untyped metrics are traversed. For each `cmt_map`, the pair `(ns, subsystem)` is hashed and assigned a **feature index**. This produces a fixed-dimensional feature vector of length `feature_dim` (number of `(ns, subsystem)` groups). |
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.
Untyped is one of the metrics types of Prometheus like library which is called as cmetrics in Fluent Bit. It should be valid but vale complains this.
| For each valid time index `t`, a reconstructed state vector is built as: | ||
|
|
||
| $$ | ||
| x_t ;\to; (x_t,; x_{t-\tau},; \dots,; x_{t-(m-1)\tau}) |
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.
This is KaTeX style of notation but vale complains this.
|
|
||
| If `n_raw < (m − 1)τ + 1`, TDA is skipped until enough data has accumulated. | ||
|
|
||
| This embedding follows the idea of **Takens theorem**, which states that, under mild conditions, the dynamics of a system can be reconstructed from delay-embedded observations of a single time series or a low-dimensional observable [2]. In this plugin, the observable is the multi-dimensional vector of aggregated metrics. |
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.
Takens is a name of person who is a researcher for mathematics.
7cf8133 to
4359221
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: 4
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
pipeline/processors/tda.md (1)
287-289: Replace en-dashes with em-dashes in references.Line 288 uses en-dashes in page ranges that should be em-dashes per Fluent Bit documentation style.
-2. F. Takens, "Detecting strange attractors in turbulence," in D. Rand and L.-S. Young (eds.), _Dynamical Systems and Turbulence_, Lecture Notes in Mathematics, vol. 898, Springer, 1981, pp. 366–381. +2. F. Takens, "Detecting strange attractors in turbulence," in D. Rand and L.-S. Young (eds.), _Dynamical Systems and Turbulence_, Lecture Notes in Mathematics, vol. 898, Springer, 1981, pp. 366—381.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
pipeline/processors.md(1 hunks)pipeline/processors/tda.md(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- pipeline/processors.md
🧰 Additional context used
🪛 GitHub Actions: Lint PRs
pipeline/processors/tda.md
[INFO] 1-1: [FluentBit.Acronyms] Spell out 'TDA', if it's unfamiliar to the audience.
[INFO] 1-1: [FluentBit.Headings] 'TDA (Topological Data Analysis)' should use sentence-style capitalization.
[INFO] 21-21: [FluentBit.Spelling] Spelling check: 'Takens'?
[INFO] 36-36: [FluentBit.Spelling] Spelling check: 'untyped'?
[INFO] 50-50: [FluentBit.Spelling] Spelling check: 'bursty'?
[INFO] 51-51: [FluentBit.Contractions] Feel free to use 'that's' instead of 'that is'.
[INFO] 66-66: [FluentBit.Spelling] Spelling check: 'x_t'?
[INFO] 66-66: [FluentBit.Spelling] Spelling check: 'x_t'?
[INFO] 79-79: [FluentBit.SentenceLengthLong] Improve readability by using fewer than 35 words in this sentence.
[INFO] 113-113: [FluentBit.Headings] '5. Persistent Homology through Ripser' should use sentence-style capitalization.
[INFO] 113-113: [FluentBit.Spelling] Spelling check: 'Ripser'?
[INFO] 115-115: [FluentBit.Contractions] Feel free to use 'it's' instead of 'it is'.
[INFO] 115-115: [FluentBit.Spelling] Spelling check: 'Ripser'?
[INFO] 119-119: [FluentBit.Spelling] Spelling check: 'Ripser's'?
[INFO] 120-120: [FluentBit.Spelling] Spelling check: 'Ripser'?
[INFO] 124-124: [FluentBit.Spelling] Spelling check: 'Ripser'?
[INFO] 139-139: [FluentBit.Quotes] Commas and periods go inside quotation marks.
[INFO] 143-143: [FluentBit.SentenceLengthLong] Improve readability by using fewer than 35 words in this sentence.
[INFO] 147-147: [FluentBit.Headings] 'Interpreting Betti numbers' should use sentence-style capitalization.
[INFO] 155-155: [FluentBit.We] Try to avoid using first-person plural like 'our'.
[ERROR] 166-166: [FluentBit.EnDash] Use an em dash ('—') instead of '–'.
[ERROR] 166-166: [FluentBit.EnDash] Use an em dash ('—') instead of '–'.
[INFO] 172-172: [FluentBit.Contractions] Feel free to use 'doesn't' instead of 'does not'.
[WARNING] 192-192: [FluentBit.Possessives] Rewrite 'Bit's' to not use 's.
[ERROR] 261-261: [FluentBit.EnDash] Use an em dash ('—') instead of '–'.
[WARNING] 267-267: [FluentBit.Simplicity] Avoid words like "useful" that imply ease of use, because the user may find this action difficult.
[ERROR] 269-269: [FluentBit.Latin] Use 'for example' instead of 'e.g.,'.
[ERROR] 271-271: [FluentBit.DontUse] We don't use 'just'.
[ERROR] 271-271: [FluentBit.EmDash] Don't put a space before or after a dash.
[ERROR] 271-271: [FluentBit.EnDash] Use an em dash ('—') instead of '–'.
[INFO] 273-273: [FluentBit.Directional] Verify your use of 'above' with the Style Guide.
[INFO] 280-280: [FluentBit.Acronyms] Spell out 'DLQ', if it's unfamiliar to the audience.
[INFO] 287-287: [FluentBit.Spelling] Spelling check: 'Donato'?
[INFO] 287-287: [FluentBit.Spelling] Spelling check: 'Gori'?
[INFO] 287-287: [FluentBit.Spelling] Spelling check: 'Sarti'?
[INFO] 288-288: [FluentBit.Spelling] Spelling check: 'Takens'?
[ERROR] 288-288: [FluentBit.EnDash] Use an em dash ('—') instead of '–'.
[ERROR] 288-288: [FluentBit.EnDash] Use an em dash ('—') instead of '–'.
[INFO] 289-289: [FluentBit.SentenceLengthLong] Improve readability by using fewer than 35 words in this sentence.
[INFO] 289-289: [FluentBit.Headings] '5. Persistent Homology through Ripser' should use sentence-style capitalization.
[INFO] 289-289: [FluentBit.Spelling] Spelling check: 'Ripser'?
[INFO] 291-291: [FluentBit.Contractions] Feel free to use 'it's' instead of 'it is'.
[INFO] 291-291: [FluentBit.Spelling] Spelling check: 'Ripser'?
[INFO] 295-295: [FluentBit.Spelling] Spelling check: 'Ripser's'?
[INFO] 296-296: [FluentBit.Spelling] Spelling check: 'Ripser'?
[INFO] 300-300: [FluentBit.Quotes] Commas and periods go inside quotation marks.
[INFO] 303-303: [FluentBit.SentenceLengthLong] Improve readability by using fewer than 35 words in this sentence.
[INFO] 147-147: [FluentBit.Headings] 'Interpreting Betti numbers' should use sentence-style capitalization.
[INFO] 155-155: [FluentBit.We] Try to avoid using first-person plural like 'our'.
[ERROR] 166-166: [FluentBit.EnDash] Use an em dash ('—') instead of '–'.
[ERROR] 269-269: [FluentBit.Latin] Use 'for example' instead of 'e.g.,'.
[ERROR] 271-271: [FluentBit.DontUse] We don't use 'just'.
[ERROR] 271-271: [FluentBit.EmDash] Don't put a space before or after a dash.
[ERROR] 271-271: [FluentBit.EnDash] Use an em dash ('—') instead of '–'.
[ERROR] 288-288: [FluentBit.EnDash] Use an em dash ('—') instead of '–'.
[ERROR] 288-288: [FluentBit.EnDash] Use an em dash ('—') instead of '–'.
[INFO] 288-288: [FluentBit.SentenceLengthLong] Improve readability by using fewer than 35 words in this sentence.
[INFO] 289-289: [FluentBit.Headings] '5. Persistent Homology through Ripser' should use sentence-style capitalization.
[INFO] 289-289: [FluentBit.Spelling] Spelling check: 'Ripser'?
[INFO] 291-291: [FluentBit.Contractions] Feel free to use 'it's' instead of 'it is'.
[INFO] 291-291: [FluentBit.Spelling] Spelling check: 'Ripser'?
[INFO] 295-295: [FluentBit.Spelling] Spelling check: 'Ripser's'?
[INFO] 296-296: [FluentBit.Spelling] Spelling check: 'Ripser'?
[INFO] 300-300: [FluentBit.Quotes] Commas and periods go inside quotation marks.
[INFO] 303-303: [FluentBit.SentenceLengthLong] Improve readability by using fewer than 35 words in this sentence.
🪛 GitHub Check: runner / vale
pipeline/processors/tda.md
[failure] 288-288:
[vale] reported by reviewdog 🐶
[FluentBit.EnDash] Use an em dash ('—') instead of '–'.
Raw Output:
{"message": "[FluentBit.EnDash] Use an em dash ('—') instead of '–'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 288, "column": 195}}}, "severity": "ERROR"}
[failure] 271-271:
[vale] reported by reviewdog 🐶
[FluentBit.EnDash] Use an em dash ('—') instead of '–'.
Raw Output:
{"message": "[FluentBit.EnDash] Use an em dash ('—') instead of '–'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 271, "column": 115}}}, "severity": "ERROR"}
[failure] 271-271:
[vale] reported by reviewdog 🐶
[FluentBit.EmDash] Don't put a space before or after a dash.
Raw Output:
{"message": "[FluentBit.EmDash] Don't put a space before or after a dash.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 271, "column": 114}}}, "severity": "ERROR"}
[failure] 271-271:
[vale] reported by reviewdog 🐶
[FluentBit.DontUse] We don't use 'just'.
Raw Output:
{"message": "[FluentBit.DontUse] We don't use 'just'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 271, "column": 32}}}, "severity": "ERROR"}
[failure] 269-269:
[vale] reported by reviewdog 🐶
[FluentBit.Latin] Use 'for example' instead of 'e.g.,'.
Raw Output:
{"message": "[FluentBit.Latin] Use 'for example' instead of 'e.g.,'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 269, "column": 70}}}, "severity": "ERROR"}
[failure] 261-261:
[vale] reported by reviewdog 🐶
[FluentBit.EnDash] Use an em dash ('—') instead of '–'.
Raw Output:
{"message": "[FluentBit.EnDash] Use an em dash ('—') instead of '–'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 261, "column": 153}}}, "severity": "ERROR"}
[failure] 166-166:
[vale] reported by reviewdog 🐶
[FluentBit.EnDash] Use an em dash ('—') instead of '–'.
Raw Output:
{"message": "[FluentBit.EnDash] Use an em dash ('—') instead of '–'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 166, "column": 39}}}, "severity": "ERROR"}
[warning] 79-79:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'Takens'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'Takens'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 79, "column": 38}}}, "severity": "INFO"}
[warning] 79-79:
[vale] reported by reviewdog 🐶
[FluentBit.SentenceLengthLong] Improve readability by using fewer than 35 words in this sentence.
Raw Output:
{"message": "[FluentBit.SentenceLengthLong] Improve readability by using fewer than 35 words in this sentence.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 79, "column": 1}}}, "severity": "INFO"}
[warning] 66-66:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'x_t'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'x_t'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 66, "column": 12}}}, "severity": "INFO"}
[warning] 66-66:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'x_t'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'x_t'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 66, "column": 1}}}, "severity": "INFO"}
[warning] 51-51:
[vale] reported by reviewdog 🐶
[FluentBit.Contractions] Feel free to use 'that's' instead of 'that is'.
Raw Output:
{"message": "[FluentBit.Contractions] Feel free to use 'that's' instead of 'that is'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 51, "column": 87}}}, "severity": "INFO"}
[warning] 50-50:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'bursty'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'bursty'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 50, "column": 47}}}, "severity": "INFO"}
[warning] 36-36:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'untyped'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'untyped'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 36, "column": 30}}}, "severity": "INFO"}
[warning] 21-21:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'Takens'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'Takens'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 21, "column": 189}}}, "severity": "INFO"}
[warning] 1-1:
[vale] reported by reviewdog 🐶
[FluentBit.Headings] 'TDA (Topological Data Analysis)' should use sentence-style capitalization.
Raw Output:
{"message": "[FluentBit.Headings] 'TDA (Topological Data Analysis)' should use sentence-style capitalization.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 1, "column": 3}}}, "severity": "INFO"}
[warning] 1-1:
[vale] reported by reviewdog 🐶
[FluentBit.Acronyms] Spell out 'TDA', if it's unfamiliar to the audience.
Raw Output:
{"message": "[FluentBit.Acronyms] Spell out 'TDA', if it's unfamiliar to the audience.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 1, "column": 3}}}, "severity": "INFO"}
🪛 LanguageTool
pipeline/processors/tda.md
[style] ~125-~125: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...ath}$) from Ripser. * Intervals with very small persistence are filtered out, and the r...
(EN_WEAK_ADJECTIVE)
[style] ~153-~153: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...dimensional holes (loops / cycles). * Betti₂: 2-dimensional voids, and so on. In...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~166-~166: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ... Betti₁ and Betti₂ are typically 0 or very small. 2. Single, one-off failure * ...
(EN_WEAK_ADJECTIVE)
[style] ~271-~271: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...ise hides coherent structure. * You want to build alerts not just on "levels" of me...
(REP_WANT_TO_VB)
fc6e1b2 to
d4d1aa0
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: 1
♻️ Duplicate comments (3)
pipeline/processors/tda.md (3)
261-261: Replace en-dash with em-dash in range notation.Line 261 uses an en-dash (
–) in the range4–10, which should be an em-dash (—) per Fluent Bit documentation style:-This configuration reconstructs the system in an effective dimension of `4 × feature_dim` and tends to highlight tight loops that occur within roughly 4–10 sampling intervals. +This configuration reconstructs the system in an effective dimension of `4 × feature_dim` and tends to highlight tight loops that occur within roughly 4—10 sampling intervals.
3-3: Add alt attribute to image for accessibility.Line 3 is missing an
altattribute on the tracking pixel image, which violates accessibility requirements and fails markdownlint's MD045 rule. Add an empty alt attribute (acceptable for tracking pixels):-<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=ee1ad690-a3e9-434f-9635-3e53c670e96c" /> +<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=ee1ad690-a3e9-434f-9635-3e53c670e96c" alt="" />
269-271: Fix remaining linting errors: replace "e.g.", remove "just", and fix em-dash spacing.Lines 269 and 271 still contain style violations that must be resolved:
- Line 269: "e.g." must be replaced with "for example"
- Line 271: Remove the word "just" (disallowed by FluentBit.DontUse) and fix em-dash spacing (
–should become—without spaces)-* You suspect **non-linear or multi-modal behavior** in your system (e.g., on/off regimes, congestion collapse, periodic retries). +* You suspect **non-linear or multi-modal behavior** in your system (for example, on/off regimes, congestion collapse, periodic retries).-* You want to build alerts not just on "levels" of metrics, but on **changes in the topology** of system behavior – for example: +* You want to build alerts on "levels" of metrics and on **changes in the topology** of system behavior—for example:
🧹 Nitpick comments (1)
pipeline/processors/tda.md (1)
113-113: Heading style note for section 5.Line 113 ("5. Persistent Homology through Ripser") receives an INFO-level vale suggestion for sentence-style capitalization. If you adopt sentence case, this would become "5. Persistent homology through Ripser". This is optional and low priority compared to the critical linting errors above.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
pipeline/processors/tda.md(1 hunks)
🧰 Additional context used
🪛 GitHub Actions: Lint PRs
pipeline/processors/tda.md
[info] 1-1: [FluentBit.Acronyms] Spell out 'TDA', if it's unfamiliar to the audience.
[info] 1-1: [FluentBit.Headings] 'TDA (Topological Data Analysis)' should use sentence-style capitalization.
[info] 21-21: [FluentBit.Spelling] Spelling check: 'Takens'?
[info] 36-36: [FluentBit.Spelling] Spelling check: 'untyped'?
[info] 50-50: [FluentBit.Spelling] Spelling check: 'bursty'?
[info] 51-51: [FluentBit.Contractions] Feel free to use 'that's' instead of 'that is'.
[info] 66-66: [FluentBit.Spelling] Spelling check: 'x_t'?
[info] 79-79: [FluentBit.SentenceLengthLong] Improve readability by using fewer than 35 words in this sentence.
[info] 113-113: [FluentBit.Headings] '5. Persistent Homology through Ripser' should use sentence-style capitalization.
[error] 271-271: [FluentBit.EnDash] Don't put a space before or after a dash.
🪛 GitHub Check: runner / vale
pipeline/processors/tda.md
[failure] 288-288:
[vale] reported by reviewdog 🐶
[FluentBit.EnDash] Use an em dash ('—') instead of '–'.
Raw Output:
{"message": "[FluentBit.EnDash] Use an em dash ('—') instead of '–'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 288, "column": 195}}}, "severity": "ERROR"}
[failure] 271-271:
[vale] reported by reviewdog 🐶
[FluentBit.EnDash] Use an em dash ('—') instead of '–'.
Raw Output:
{"message": "[FluentBit.EnDash] Use an em dash ('—') instead of '–'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 271, "column": 115}}}, "severity": "ERROR"}
[failure] 271-271:
[vale] reported by reviewdog 🐶
[FluentBit.EmDash] Don't put a space before or after a dash.
Raw Output:
{"message": "[FluentBit.EmDash] Don't put a space before or after a dash.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 271, "column": 114}}}, "severity": "ERROR"}
[failure] 271-271:
[vale] reported by reviewdog 🐶
[FluentBit.DontUse] We don't use 'just'.
Raw Output:
{"message": "[FluentBit.DontUse] We don't use 'just'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 271, "column": 32}}}, "severity": "ERROR"}
[failure] 269-269:
[vale] reported by reviewdog 🐶
[FluentBit.Latin] Use 'for example' instead of 'e.g.,'.
Raw Output:
{"message": "[FluentBit.Latin] Use 'for example' instead of 'e.g.,'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 269, "column": 70}}}, "severity": "ERROR"}
[failure] 261-261:
[vale] reported by reviewdog 🐶
[FluentBit.EnDash] Use an em dash ('—') instead of '–'.
Raw Output:
{"message": "[FluentBit.EnDash] Use an em dash ('—') instead of '–'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 261, "column": 153}}}, "severity": "ERROR"}
[warning] 79-79:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'Takens'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'Takens'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 79, "column": 38}}}, "severity": "INFO"}
[warning] 79-79:
[vale] reported by reviewdog 🐶
[FluentBit.SentenceLengthLong] Improve readability by using fewer than 35 words in this sentence.
Raw Output:
{"message": "[FluentBit.SentenceLengthLong] Improve readability by using fewer than 35 words in this sentence.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 79, "column": 1}}}, "severity": "INFO"}
[warning] 66-66:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'x_t'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'x_t'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 66, "column": 12}}}, "severity": "INFO"}
[warning] 66-66:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'x_t'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'x_t'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 66, "column": 1}}}, "severity": "INFO"}
[warning] 51-51:
[vale] reported by reviewdog 🐶
[FluentBit.Contractions] Feel free to use 'that's' instead of 'that is'.
Raw Output:
{"message": "[FluentBit.Contractions] Feel free to use 'that's' instead of 'that is'.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 51, "column": 87}}}, "severity": "INFO"}
[warning] 50-50:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'bursty'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'bursty'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 50, "column": 47}}}, "severity": "INFO"}
[warning] 36-36:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'untyped'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'untyped'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 36, "column": 30}}}, "severity": "INFO"}
[warning] 21-21:
[vale] reported by reviewdog 🐶
[FluentBit.Spelling] Spelling check: 'Takens'?
Raw Output:
{"message": "[FluentBit.Spelling] Spelling check: 'Takens'?", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 21, "column": 189}}}, "severity": "INFO"}
[warning] 1-1:
[vale] reported by reviewdog 🐶
[FluentBit.Headings] 'TDA (Topological Data Analysis)' should use sentence-style capitalization.
Raw Output:
{"message": "[FluentBit.Headings] 'TDA (Topological Data Analysis)' should use sentence-style capitalization.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 1, "column": 3}}}, "severity": "INFO"}
[warning] 1-1:
[vale] reported by reviewdog 🐶
[FluentBit.Acronyms] Spell out 'TDA', if it's unfamiliar to the audience.
Raw Output:
{"message": "[FluentBit.Acronyms] Spell out 'TDA', if it's unfamiliar to the audience.", "location": {"path": "pipeline/processors/tda.md", "range": {"start": {"line": 1, "column": 3}}}, "severity": "INFO"}
🪛 LanguageTool
pipeline/processors/tda.md
[style] ~125-~125: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...ath}$) from Ripser. * Intervals with very small persistence are filtered out, and the r...
(EN_WEAK_ADJECTIVE)
[style] ~153-~153: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...dimensional holes (loops / cycles). * Betti₂: 2-dimensional voids, and so on. In...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~166-~166: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ... Betti₁ and Betti₂ are typically 0 or very small. 2. Single, one-off failure * ...
(EN_WEAK_ADJECTIVE)
[style] ~271-~271: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...ise hides coherent structure. * You want to build alerts not just on "levels" of me...
(REP_WANT_TO_VB)
🔇 Additional comments (1)
pipeline/processors/tda.md (1)
1-1: Heading capitalization guidance.The heading "TDA (Topological Data Analysis)" flags a vale INFO-level suggestion for sentence-style capitalization. However, this is a stylistic choice for acronyms in headings and may be acceptable. If your project style guide requires title case for processor names, consider: "Tda (Topological data analysis)" or similar. Otherwise, this can be left as-is for now.
Please confirm the preferred heading style with your documentation maintainers.
Signed-off-by: Hiroshi Hatake <[email protected]>
d4d1aa0 to
14290e6
Compare
|
@eschabell I supressed vale errors on my written doc. How do we proceed further revising on this? |
Corresponding to fluent/fluent-bit#11250.
Summary by CodeRabbit
New Features
Documentation
✏️ Tip: You can customize this high-level summary in your review settings.