Skip to content

feat: Temporary per-community object storage metrics - #99

Open
Darkheir wants to merge 1 commit into
sekoiafrom
feat/temporary_per_community_object_storagemetrics
Open

Darkheir wants to merge 1 commit into
sekoiafrom
feat/temporary_per_community_object_storagemetrics

Conversation

@Darkheir

@Darkheir Darkheir commented Oct 2, 2026

Copy link
Copy Markdown
Collaborator

Temporary: per-community object storage metrics

Adds object store request and byte counters labelled by community, taken from the object key.
Also adds a gauge for the peak 1-second rate over the last 30s, since the average rate over a 15–30s scrape hides the real max.

New metrics (quickwit_storage_object_storage_community_*): requests_total, bytes_total, peak_requests_per_sec, peak_bytes_per_sec.

PR has been created to modify as little things as possible and make its revert as painless as possible.

Copilot AI balanced review requested due to automatic review settings October 2, 2026 13:51

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Byte-rate accounting is inaccurate for streamed transfers, and multipart request coverage is incomplete.

Review effort: Balanced
Findings: 3 Medium severity

Open (3)
What changed in this PR

Adds temporary per-community S3 request, byte, and peak-rate metrics.

Changes:

  • Extracts community UUIDs from object keys.
  • Tracks per-community counters and rolling 30-second peaks.
  • Instruments selected S3 operations.
File Description
community_metrics.rs Implements extraction and metric aggregation.
s3_compatible_storage.rs Records metrics for selected S3 operations.
metrics_wrappers.rs Exposes action labels internally.
lib.rs Registers the new module.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread quickwit/quickwit-storage/src/community_metrics.rs
None => {}
}
community_metrics::record_request(key, ActionLabel::UploadPart);
community_metrics::record_bytes(key, "upload", part.len());

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I think this is OK for this PR

@Darkheir
Darkheir force-pushed the feat/temporary_per_community_object_storagemetrics branch from 9ce83be to 49df433 Compare October 2, 2026 14:08
@Darkheir
Darkheir requested a review from rdettai-sk October 2, 2026 14:08

@rdettai-sk rdettai-sk left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

We will need to be careful that this doesn't brake scrapping once deployad (+20k metrics)

@Darkheir

Darkheir commented Oct 2, 2026

Copy link
Copy Markdown
Collaborator Author

We will need to be careful that this doesn't brake scrapping once deployad (+20k metrics)

Do you have something specific in mind ?

@rdettai-sk
rdettai-sk force-pushed the feat/temporary_per_community_object_storagemetrics branch from 49df433 to 1fb3531 Compare October 8, 2026 15:19
Signed-off-by: Darkheir <raphael.cohen@sekoia.io>
@rdettai-sk
rdettai-sk force-pushed the feat/temporary_per_community_object_storagemetrics branch from 1fb3531 to a616d21 Compare October 12, 2026 09:43

This branch has not been deployed

No deployments
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.

3 participants