Skip to content

Conversation

@amotl
Copy link
Member

@amotl amotl commented Sep 20, 2025

About

In order to expand the Ingest / Telemetry section, the new subsection about the venerable StatsD accompanies subsections about integrations with Prometheus, rsyslog, and Telegraf.

Preview

References

Trivia

@coderabbitai: Please review and convert to active voice.

/cc @karynzv, @hammerhead, @surister

@amotl amotl added the new content New content being added. label Sep 20, 2025
@coderabbitai
Copy link

coderabbitai bot commented Sep 20, 2025

Walkthrough

Adds a new StatsD integration to the docs: a grid card on the telemetry index, a dedicated integration page, an example Telegraf configuration, and a usage tutorial detailing setup and data ingestion into CrateDB.

Changes

Cohort / File(s) Summary
Telemetry index update
docs/ingest/telemetry/index.md
Inserted a new Integrations grid-item-card for StatsD (ref link: statsd) with a brief description.
StatsD integration docs
docs/integrate/statsd/index.md, docs/integrate/statsd/telegraf.conf, docs/integrate/statsd/usage.md
Added a new integration page describing StatsD via Telegraf, an example telegraf.conf (StatsD input, CrateDB output), and a tutorial for setup, ingestion, and querying in CrateDB.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant StatsD Client
  participant StatsD Daemon
  participant Telegraf
  participant CrateDB

  Note over User,CrateDB: High-level data flow for the new StatsD integration docs
  User->>StatsD Client: Emit metrics (counters/gauges/timers)
  StatsD Client->>StatsD Daemon: Send metrics (UDP :8125)
  StatsD Daemon-->>Telegraf: Expose aggregated metrics
  Telegraf->>CrateDB: Write metrics via output plugin
  CrateDB-->>User: Data available for querying
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

guidance, cross linking

Suggested reviewers

  • kneth

Poem

In burrows deep I tap my paw,
Stats hop in, through UDP’s door.
Telegraf gathers, crates adore,
Metrics stored—oh, what a score!
With every tick, my whiskers cheer,
CrateDB’s fields grow crystal-clear.
Hop, sip data—spring is here! 🐇📈

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title "StatsD: Index page and usage guide" concisely and accurately summarizes the primary additions in the changeset: a new StatsD integration index and a usage/tutorial page. It is specific, relevant to the added files, and does not include unnecessary noise. The phrasing is clear enough for a teammate scanning history to understand the main change.
Description Check ✅ Passed The pull request description clearly states the intent to add a StatsD subsection to the Ingest/Telemetry docs, includes preview links and issue references, and matches the files added in the changeset. It is directly related to the changes and not off-topic, meeting the lenient requirements of this check. The level of detail is sufficient for this verification.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch statsd

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b3d7612 and b503656.

📒 Files selected for processing (4)
  • docs/ingest/telemetry/index.md (1 hunks)
  • docs/integrate/statsd/index.md (1 hunks)
  • docs/integrate/statsd/telegraf.conf (1 hunks)
  • docs/integrate/statsd/usage.md (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • docs/integrate/statsd/usage.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • docs/ingest/telemetry/index.md
  • docs/integrate/statsd/telegraf.conf
  • docs/integrate/statsd/index.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build docs

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.

@amotl amotl marked this pull request as ready for review September 20, 2025 19:53
Copy link

@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: 0

🧹 Nitpick comments (6)
docs/integrate/statsd/tutorial.md (4)

22-25: Convert passive voice to active voice as requested.

The current phrasing uses passive voice. Convert to active voice to improve clarity and directness.

Apply this diff to convert to active voice:

-alias nc="docker run --rm -i --network=cratedb-demo docker.io/toolbelt/netcat"
-alias psql="docker run --rm -i --network=cratedb-demo docker.io/postgres psql"
+alias nc="docker run --rm -i --network=cratedb-demo docker.io/toolbelt/netcat"
+alias psql="docker run --rm -i --network=cratedb-demo docker.io/postgres psql"

Actually, the aliases themselves are fine. The passive voice issue is in the introductory sentence:

-To make the settings persistent, add them to your shell profile (`~/.profile`).
+Add these settings to your shell profile (`~/.profile`) to make them persistent.

29-32: Convert passive voice to active voice as requested.

Apply this diff:

-To make the settings persistent, add them to your PowerShell profile (`$PROFILE`).
+Add these settings to your PowerShell profile (`$PROFILE`) to make them persistent.

60-63: Convert passive voice to active voice as requested.

Apply this diff:

-Configure Telegraf to receive StatsD and to store them
-in CrateDB, by using the configuration blueprint outlined below, possibly
-adjusting it to match your environment. Store this file under the name
-`telegraf.conf`.
+Use the configuration blueprint below to configure Telegraf to receive StatsD
+metrics and store them in CrateDB. Adjust the configuration to match your
+environment and save this file as `telegraf.conf`.

134-138: Convert passive voice to active voice as requested.

Apply this diff:

-After receiving data, the first metrics will appear in the designated table in
-CrateDB, ready to be inspected.
+After Telegraf receives data, CrateDB stores the metrics in the designated table,
+ready for inspection.
docs/integrate/statsd/index.md (2)

13-22: Convert passive voice to active voice as requested.

The text contains several instances of passive voice that should be converted to active voice for better clarity and directness.

Apply this diff:

-[StatsD] is a daemon for easy but powerful system and application
-metrics and stats aggregation.
-
-It is a network daemon that runs on the Node.js platform and listens for
-statistics, like counters and timers, sent over UDP or TCP and sends
-aggregates to one or more pluggable backend services.
+[StatsD] provides easy but powerful system and application
+metrics and stats aggregation.
+
+This network daemon runs on the Node.js platform and listens for
+statistics, like counters and timers, sent over UDP or TCP. It then sends
+aggregates to one or more pluggable backend services.

20-22: Convert passive voice to active voice as requested.

Apply this diff:

-StatsD traditionally uses the Graphite backend and its successors, but it
-can also use CrateDB as a backend, by relaying data through Telegraf and
-using its built-in [CrateDB Output Plugin for Telegraf].
+StatsD traditionally uses the Graphite backend and its successors, but you
+can also configure it to use CrateDB as a backend by relaying data through Telegraf
+with its built-in [CrateDB Output Plugin for Telegraf].
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 26db150 and c665fb1.

📒 Files selected for processing (4)
  • docs/ingest/telemetry/index.md (1 hunks)
  • docs/integrate/statsd/index.md (1 hunks)
  • docs/integrate/statsd/telegraf.conf (1 hunks)
  • docs/integrate/statsd/tutorial.md (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build docs
🔇 Additional comments (9)
docs/integrate/statsd/telegraf.conf (1)

1-31: LGTM! Well-structured Telegraf configuration with clear documentation.

The configuration properly sets up StatsD input and CrateDB output with sensible defaults. The comments provide helpful context and links to official documentation.

docs/ingest/telemetry/index.md (1)

68-72: LGTM! StatsD integration card follows the established pattern.

The new StatsD card maintains consistency with existing Prometheus and rsyslog cards in terms of structure, formatting, and content style.

docs/integrate/statsd/tutorial.md (4)

1-6: LGTM! Clear tutorial introduction with proper context.

The opening effectively sets expectations and explains the tutorial's scope.


108-109: LGTM! Clear and practical example.

The netcat example provides a straightforward way to test the StatsD setup.


116-123: LGTM! Comprehensive Python example with proper resource cleanup.

The Python example demonstrates proper StatsD client usage and includes the important close() call for resource cleanup.


139-145: LGTM! Realistic sample output with proper formatting.

The query example and sample output effectively demonstrate what users can expect to see in CrateDB.

docs/integrate/statsd/index.md (3)

29-30: LGTM! Clean reference to the configuration file.

The literalinclude directive properly references the telegraf.conf file, maintaining consistency with the tutorial documentation.


38-42: LGTM! Tutorial card follows established documentation patterns.

The grid-item-card structure and content align well with the documentation's style guide.


47-51: LGTM! Proper TOC structure for navigation.

The toctree configuration correctly includes the tutorial with appropriate settings for the documentation hierarchy.

@amotl amotl changed the title StatsD: Index page and tutorial StatsD: Index page and usage guide Sep 23, 2025
@amotl amotl merged commit da6a133 into main Sep 30, 2025
3 checks passed
@amotl amotl deleted the statsd branch September 30, 2025 14:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new content New content being added.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants