mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-26 08:18:18 +00:00
feat(scanner): expose replication repair kind metrics (#3476)
This commit is contained in:
@@ -99,6 +99,7 @@ metrics.lifecycle_transition.current_queued
|
||||
metrics.lifecycle_transition.scanner_missed
|
||||
metrics.maintenance_control.primary_control
|
||||
metrics.source_work
|
||||
metrics.replication_repair
|
||||
metrics.scan_checkpoint
|
||||
```
|
||||
|
||||
@@ -147,6 +148,28 @@ Use these counters to decide whether scan progress is limited by scanner pacing
|
||||
or by a downstream subsystem such as lifecycle transition, replication repair,
|
||||
or heal admission.
|
||||
|
||||
## Reading Replication Repair
|
||||
|
||||
`metrics.replication_repair`, `metrics.current_cycle_replication_repair`, and
|
||||
`metrics.last_cycle_replication_repair` split scanner-discovered replication
|
||||
repair work by source and repair kind.
|
||||
|
||||
Each entry has the same `checked`, `queued`, `executed`, `failed`, `skipped`,
|
||||
and `missed` counters used by `source_work`, plus:
|
||||
|
||||
| Field | Meaning |
|
||||
|---|---|
|
||||
| `source` | `bucket_replication` for bucket replication repair, or `site_replication` for site replication boundary signals. |
|
||||
| `kind` | Bucket repair kinds are `object`, `delete_marker`, `version_purge`, and `existing_object`. Site replication boundary kinds are `passive_requeue` and `active_resync`. |
|
||||
|
||||
For bucket replication, `queued` means scanner-discovered repair was admitted
|
||||
to the replication queue, `missed` means the queue or worker path could not
|
||||
accept it, and `skipped` means the object did not require a new repair task.
|
||||
|
||||
The site replication kinds keep passive scanner discovery separate from active
|
||||
resync. Scanner status may report site replication boundary counters, but the
|
||||
scanner should not be treated as the active site replication resync controller.
|
||||
|
||||
## Reading Maintenance Control
|
||||
|
||||
`metrics.maintenance_control` derives a source-level control snapshot from
|
||||
|
||||
Reference in New Issue
Block a user