# Metrics

The drop operator exposes the following metrics:

| Metric | Type | Description |
|--------|------|-------------|
| `drop_images_cached_total` | counter | Total number of images successfully cached on nodes. |
| `drop_pull_duration_seconds` | histogram | Duration of image pull operations in seconds. |
| `drop_pull_errors_total` | counter | Total number of failed image pull attempts. |
| `drop_discovery_images_found` | gauge | Number of images found by a discovery policy. |
| `drop_active_pulls` | gauge | Current number of active image pull Pods. |
| `drop_reconcile_total` | counter | Total number of reconciliation attempts. |
| `drop_discovery_source_health` | gauge | Whether a discovery source is reachable and queryable (1=healthy, 0=unhealthy). |
| `drop_discovery_source_latency_seconds` | histogram | Latency of discovery source queries in seconds. |
| `drop_nodes_targeted` | gauge | Number of nodes targeted by each CachedImage resource. |
| `drop_nodes_cached` | gauge | Number of nodes where the image is successfully cached. |
| `drop_consecutive_failures` | gauge | Current number of consecutive pull failures for a CachedImage. |

## Useful Queries

```promql
# Images cached per node
sum by (node) (drop_images_cached_total)

# Pull error rate
rate(drop_pull_errors_total[5m])

# Average pull duration
histogram_quantile(0.95, rate(drop_pull_duration_seconds_bucket[10m]))

# Discovery coverage
drop_discovery_images_found
```

