Skip to content

docs(fuse): add per-instance IO and process resource panels (#897)#1007

Draft
yangcx000 wants to merge 1 commit into
CurvineIO:mainfrom
yangcx000:feat/fuse-grafana-panels
Draft

docs(fuse): add per-instance IO and process resource panels (#897)#1007
yangcx000 wants to merge 1 commit into
CurvineIO:mainfrom
yangcx000:feat/fuse-grafana-panels

Conversation

@yangcx000

Copy link
Copy Markdown
Contributor

Summary

Three additive enhancements to the curvine-fuse Grafana dashboard shipped in #1004: per-instance IO panels, a process-resources row, and Time-column de-duplication in tables. No existing panels are modified.

Issue Describe / Design

Related to #897 (end-to-end metrics; this is the fuse dashboard's consumption side). Follow-up to #1004.

Design notes:

  • Per-instance IO uses sum by(instance,io_type) so an $instance=All selection no longer collapses read/write into one fleet line — each instance's throughput (B/s, success bytes) and IOPS (io_requests/s) is visible. Existing fleet-total panels are kept.
  • Process resources reads the Prometheus client library's process_* metrics (from /proc, present even when metrics_enabled=false), filtered to job=~"$job" (fuse only) to stay within the dashboard's scope boundary. CPU is in cores, memory shows RSS vs virtual, plus open-fds-vs-max and OS threads.
  • Time columns: multi-query tables carry one Time field per query; the merge-based read/write comparison table rendered Time 1..4. Hidden via an organize excludeByName transform on all five tables (existing column renames preserved).

Changes

Module / File Change Impact on existing behavior
etc/grafana/curvine-fuse-dashboard.json +7 panels (ids 80–86): per-instance throughput/IOPS in the Stream IO row, new "Process resources (per-instance)" row (CPU/RSS/fds/threads); excludeByName Time transform on 5 tables None — additive; existing panels unchanged
etc/grafana/README.md Document per-instance vs fleet IO, the process-resources row and its scope None

Test verified

Test case Result Notes
jq empty on dashboard JSON PASS valid; panel ids unique; only ids 80–86 added, none removed
Import to Grafana v12.2.1 + Prometheus PASS version bumped, all new panels present
Per-instance IO queries via datasource proxy PASS per-instance read/write throughput + IOPS resolve across 6 fuse instances
Process resource queries via datasource proxy PASS CPU (cores), RSS, open fds, threads all return per-instance data

Dependencies

…able Time columns

Follow-up to the initial curvine-fuse dashboard (CurvineIO#1004), three additive
enhancements — no changes to existing panels:

- Per-instance data throughput (B/s) and IOPS (io_requests/s) panels in
  the Stream IO row, aggregated `by(instance,io_type)` so selecting many
  instances no longer collapses read/write into a single fleet line.
- New "Process resources (per-instance)" row: CPU (cores), RSS/virtual
  memory, open-fds-vs-max, and OS threads, sourced from the Prometheus
  client library's `process_*` metrics (filtered to job=fuse).
- Hide the redundant Time columns in all five multi-query tables via an
  organize `excludeByName` transform (the merge-based read/write
  comparison table showed Time 1..4).

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant