Chargeback Intelligence Dashboard
Point in time snapshots of consumption.
Build Time
{info.BuildTime}
SHA1 Version
{info.SHA1Ver}
Go Runtime
{info.GoVersion}
Overview
vCTP is a vSphere Chargeback Tracking Platform.
Snapshots and Reports
Hourly snapshots capture inventory per vCenter (concurrency via hourly_snapshot_concurrency).
Daily summaries aggregate the hourly snapshots for the day; monthly summaries aggregate daily summaries for the month (or hourly snapshots if configured).
Snapshots are registered in snapshot_registry so regeneration via /api/snapshots/aggregate can locate the correct tables (fallback scanning is also supported).
Reports (XLSX with totals/charts) are generated automatically after hourly, daily, and monthly jobs and written to a reports directory.
Hourly totals are interval-based: each row represents [HH:00, HH+1:00) and uses the first snapshot at or after the hour end (including cross-day snapshots) to prorate VM presence.
Monthly aggregation reports include a Daily Totals sheet with full-day interval labels (YYYY-MM-DD to YYYY-MM-DD) and prorated totals.
Prorating and Aggregation
SamplesPresent is the count of snapshots in which the VM appears; TotalSamples is the count of unique snapshot times for the vCenter.
AvgIsPresent = SamplesPresent / TotalSamples (0 when TotalSamples is 0).
Daily AvgVcpuCount/AvgRamGB/AvgProvisionedDisk = sum of per-sample values divided by TotalSamples (time-weighted).
Daily pool percentages use pool hits divided by SamplesPresent, so they reflect only the time the VM existed.
Monthly aggregation weights daily averages by daily total samples, then divides by monthly total samples.
CreationTime is only set when vCenter provides it; otherwise it remains 0.