Skip to main content

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.

FieldDescription
beginStart of the interval (UTC)
endEnd of the interval (UTC)
namespaceNamespace name
usedCU 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 used value. 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:002 CU
10:054 CU
10:203 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:0010 CU
14:0020 CU
18:005 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.

TimeNamespaceCU
10:00a2
10:00b5
15:00a4
(no change for 24h)b5

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
  • from is inclusive at 00:00 UTC on the given date.
  • to is exclusive at 00:00 UTC on the given date.
  • The response is a CSV file sorted by begin, then by namespace.

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
note

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 namespace column matches the namespace you want to analyze.
  • Calculate CU-hours: for each row, multiply the used value by the length of the interval (end minus begin), then sum across all rows.
  • Find peak usage: take the maximum used value 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.

warning

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.