Compare commits

..

2 Commits

Author SHA1 Message Date
6af49471b2 Merge branch 'main' of https://git.coadcorp.com/nathan/vctp2 into dev
All checks were successful
continuous-integration/drone/push Build is passing
2026-01-16 16:56:11 +11:00
b4c52e296c fix aggregation for disk size changes
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2026-01-16 16:33:39 +11:00

View File

@@ -1017,8 +1017,11 @@ WITH snapshots AS (
MIN(s."SnapshotTime") AS first_present,
MAX(s."SnapshotTime") AS last_present,
COUNT(*) AS samples_present,
s."Datacenter", s."Cluster", s."Folder", s."ProvisionedDisk", s."VcpuCount",
s."RamGB", s."IsTemplate", s."PoweredOn", s."SrmPlaceholder", s."VmUuid",
s."Datacenter", s."Cluster", s."Folder",
AVG(COALESCE(s."ProvisionedDisk",0)) AS avg_disk,
AVG(COALESCE(s."VcpuCount",0)) AS avg_vcpu_raw,
AVG(COALESCE(s."RamGB",0)) AS avg_ram_raw,
s."IsTemplate", s."PoweredOn", s."SrmPlaceholder", s."VmUuid",
SUM(CASE WHEN s."VcpuCount" IS NOT NULL THEN s."VcpuCount" ELSE 0 END) AS sum_vcpu,
SUM(CASE WHEN s."RamGB" IS NOT NULL THEN s."RamGB" ELSE 0 END) AS sum_ram,
SUM(CASE WHEN s."ProvisionedDisk" IS NOT NULL THEN s."ProvisionedDisk" ELSE 0 END) AS sum_disk,
@@ -1030,8 +1033,8 @@ WITH snapshots AS (
LEFT JOIN inventory inv ON inv."VmId" = s."VmId" AND inv."Vcenter" = s."Vcenter"
GROUP BY
s."InventoryId", s."Name", s."Vcenter", s."VmId", s."EventKey", s."CloudId",
s."Datacenter", s."Cluster", s."Folder", s."ProvisionedDisk", s."VcpuCount",
s."RamGB", s."IsTemplate", s."PoweredOn", s."SrmPlaceholder", s."VmUuid"
s."Datacenter", s."Cluster", s."Folder",
s."IsTemplate", s."PoweredOn", s."SrmPlaceholder", s."VmUuid"
)
INSERT INTO %s (
"InventoryId", "Name", "Vcenter", "VmId", "EventKey", "CloudId", "CreationTime", "DeletionTime",
@@ -1062,8 +1065,32 @@ SELECT
ORDER BY s2."SnapshotTime" DESC
LIMIT 1
) AS "ResourcePool",
agg."Datacenter", agg."Cluster", agg."Folder", agg."ProvisionedDisk", agg."VcpuCount",
agg."RamGB", agg."IsTemplate", agg."PoweredOn", agg."SrmPlaceholder", agg."VmUuid",
agg."Datacenter", agg."Cluster", agg."Folder",
(
SELECT s2."ProvisionedDisk"
FROM snapshots s2
WHERE s2."VmId" = agg."VmId"
AND s2."Vcenter" = agg."Vcenter"
ORDER BY s2."SnapshotTime" DESC
LIMIT 1
) AS "ProvisionedDisk",
(
SELECT s2."VcpuCount"
FROM snapshots s2
WHERE s2."VmId" = agg."VmId"
AND s2."Vcenter" = agg."Vcenter"
ORDER BY s2."SnapshotTime" DESC
LIMIT 1
) AS "VcpuCount",
(
SELECT s2."RamGB"
FROM snapshots s2
WHERE s2."VmId" = agg."VmId"
AND s2."Vcenter" = agg."Vcenter"
ORDER BY s2."SnapshotTime" DESC
LIMIT 1
) AS "RamGB",
agg."IsTemplate", agg."PoweredOn", agg."SrmPlaceholder", agg."VmUuid",
agg.samples_present AS "SamplesPresent",
CASE WHEN totals.total_samples > 0
THEN 1.0 * agg.sum_vcpu / totals.total_samples
@@ -1105,8 +1132,8 @@ FROM agg
CROSS JOIN totals
GROUP BY
agg."InventoryId", agg."Name", agg."Vcenter", agg."VmId", agg."EventKey", agg."CloudId",
agg."Datacenter", agg."Cluster", agg."Folder", agg."ProvisionedDisk", agg."VcpuCount",
agg."RamGB", agg."IsTemplate", agg."PoweredOn", agg."SrmPlaceholder", agg."VmUuid",
agg."Datacenter", agg."Cluster", agg."Folder",
agg."IsTemplate", agg."PoweredOn", agg."SrmPlaceholder", agg."VmUuid",
agg.any_creation, agg.any_deletion, agg.first_present, agg.last_present,
totals.total_samples;
`, unionQuery, tableName)