Resource Usage Tracking
On this page
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.
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
Stored records:
1begin=10:00, end=10:05, namespace=payments, used=2
2begin=10:05, end=10:20, namespace=payments, used=4
3begin=10:20, end=..., namespace=payments, used=3Example 2: CU Changes Across Hours
Namespace: analytics
Stored records:
1begin=08:00, end=14:00, namespace=analytics, used=10
2begin=14:00, end=18:00, namespace=analytics, used=20
3begin=18:00, end=..., namespace=analytics, used=5Example 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:
1Day1 09:12 → Day2 09:12 : 5 CU
2Day2 09:12 → Day3 09:12 : 5 CU
3Day3 09:12 → Day4 09:12 : 5 CU
4Day4 09:12 → Day5 09:12 : 5 CU
5Day5 09:12 → ...Example 4: Multiple Namespaces
Namespaces a and b are tracked independently.
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
1GET /api/v1/status/resourceusage?from=YYYY-MM-DD&to=YYYY-MM-DDfromis 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:
1# Start: 2026-01-01
2# End: 2026-01-05
3begin,end,namespace,used
42026-01-01T09:12Z,2026-01-02T09:12Z,abc,5
52026-01-02T09:12Z,2026-01-03T09:12Z,abc,5
62026-01-03T09:12Z,2026-01-04T09:12Z,abc,5
72026-01-01T08:00Z,2026-01-01T14:00Z,analytics,10
82026-01-01T14:00Z,2026-01-01T18:00Z,analytics,20The 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.
1DELETE /api/v1/status/resourceusage?to=YYYY-MM-DDThis 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
1vvp:
2 resourceUsageTracking: trueSet resourceUsageTracking to false to disable collection. No new data is collected while the feature is disabled. Existing data is not affected.