Resource Usage Tracking
Ververica Platform tracks Compute Unit (CU) usage per namespace over time and exposes the data as a CSV report. This feature is informational only. It does not affect licensing, billing, autoscaling, or resource limits.
Overview
- Metric: CUs per namespace (fractional values supported, for example
1.2) - Sampling frequency: every 1 minute
- Timezone: UTC only
- Records are written only when CU usage changes, not on every sample
- If CU usage is unchanged for 24 hours, the value is re-emitted as a new record
Data Model
Each record represents a time interval during which CU usage was constant.
| Field | Description |
|---|---|
begin | Start of the interval (UTC) |
end | End of the interval (UTC) |
namespace | Namespace name |
used | CU value for this interval |
Storage Behavior
Ververica Platform uses an interval-based model to store CU usage:
- When CU usage changes, a new record is written with the updated value.
- When CU usage stays the same for 24 hours, a new record is written with the same
usedvalue. This is the 24-hour re-emission rule. - The 24-hour rule applies independently per namespace. One namespace re-emitting does not affect others.
Examples
Example 1: CU Changes Within Minutes
Namespace: payments
| Time (UTC) | CU usage |
|---|---|
| 10:00 | 2 CU |
| 10:05 | 4 CU |
| 10:20 | 3 CU |
Stored records:
begin=10:00, end=10:05, namespace=payments, used=2
begin=10:05, end=10:20, namespace=payments, used=4
begin=10:20, end=..., namespace=payments, used=3
Example 2: CU Changes Across Hours
Namespace: analytics
| Time (UTC) | CU usage |
|---|---|
| 08:00 | 10 CU |
| 14:00 | 20 CU |
| 18:00 | 5 CU |
Stored records:
begin=08:00, end=14:00, namespace=analytics, used=10
begin=14:00, end=18:00, namespace=analytics, used=20
begin=18:00, end=..., namespace=analytics, used=5
Example 3: Unchanged for Multiple Days
Namespace: abc, constant at 5 CU for 5 days.
Because of the 24-hour re-emission rule, one record is written per day even though the value does not change.
Stored records:
Day1 09:12 → Day2 09:12 : 5 CU
Day2 09:12 → Day3 09:12 : 5 CU
Day3 09:12 → Day4 09:12 : 5 CU
Day4 09:12 → Day5 09:12 : 5 CU
Day5 09:12 → ...
Example 4: Multiple Namespaces
Namespaces a and b are tracked independently.
| Time | Namespace | CU |
|---|---|---|
| 10:00 | a | 2 |
| 10:00 | b | 5 |
| 15:00 | a | 4 |
| (no change for 24h) | b | 5 |
Namespace a changes at 15:00 so a new record is written. Namespace b is unchanged so it re-emits after 24 hours. The two namespaces do not affect each other.
Export Resource Usage
GET /api/v1/status/resourceusage?from=YYYY-MM-DD&to=YYYY-MM-DD
fromis inclusive at 00:00 UTC on the given date.tois exclusive at 00:00 UTC on the given date.- The response is a CSV file sorted by
begin, then bynamespace.
Example response:
# Start: 2026-01-01
# End: 2026-01-05
begin,end,namespace,used
2026-01-01T09:12Z,2026-01-02T09:12Z,abc,5
2026-01-02T09:12Z,2026-01-03T09:12Z,abc,5
2026-01-03T09:12Z,2026-01-04T09:12Z,abc,5
2026-01-01T08:00Z,2026-01-01T14:00Z,analytics,10
2026-01-01T14:00Z,2026-01-01T18:00Z,analytics,20
The API returns raw intervals only. The platform does not compute aggregates, averages, or totals. Calculate these externally by processing the CSV output.
Analyze Usage
To work with the exported CSV:
- Filter by namespace: select rows where the
namespacecolumn matches the namespace you want to analyze. - Calculate CU-hours: for each row, multiply the
usedvalue by the length of the interval (endminusbegin), then sum across all rows. - Find peak usage: take the maximum
usedvalue from the filtered rows.
Delete Usage Data
This endpoint is available to admins only.
DELETE /api/v1/status/resourceusage?to=YYYY-MM-DD
This deletes all records where begin is before the given date. By default, records newer than 365 days are protected and the request fails if any matching records fall within this window. Add &force=true to override the protection and delete records within the retention window.
Deletion is permanent. Use force=true only when you intend to delete data that is still within the retention period.
Configuration
vvp:
resourceUsageTracking: true
Set resourceUsageTracking to false to disable collection. No new data is collected while the feature is disabled. Existing data is not affected.