Description
Emit cumulative billing counters from GlobalState via a custom prometheus.Collector (not CounterVec, which resets on restart → negative rate()), served on /metrics.
Acceptance Criteria
A detailed list of conditions that must be met for the story to be accepted. These statements must focus on functional behavior and constraints rather than specific code-level implementation.
Story Points: 3
| Points |
Effort / Resources |
Description |
| 1 |
Low |
Low complexity; can be resolved easily. |
| 3 |
Medium |
Moderate workload; requires some focus, but risks are well-managed. |
| 5 |
High |
High complexity; difficult to implement, requiring significant time and effort. |
| 8 |
Very High |
Extreme complexity or high uncertainty. If possible, this should be divided into multiple user stories. |
Notes
Delivered in PR #8. Sprint 2 (2026-05-15).
Description
Emit cumulative billing counters from
GlobalStatevia a customprometheus.Collector(notCounterVec, which resets on restart → negativerate()), served on/metrics.Acceptance Criteria
cubecos_bytes_total/_packets_total{tenant_id,zone,direction}Story Points: 3
Notes
Delivered in PR #8. Sprint 2 (2026-05-15).