fix aggregation for disk size changes
This commit is contained in:
@@ -1017,8 +1017,11 @@ WITH snapshots AS (
|
|||||||
MIN(s."SnapshotTime") AS first_present,
|
MIN(s."SnapshotTime") AS first_present,
|
||||||
MAX(s."SnapshotTime") AS last_present,
|
MAX(s."SnapshotTime") AS last_present,
|
||||||
COUNT(*) AS samples_present,
|
COUNT(*) AS samples_present,
|
||||||
s."Datacenter", s."Cluster", s."Folder", s."ProvisionedDisk", s."VcpuCount",
|
s."Datacenter", s."Cluster", s."Folder",
|
||||||
s."RamGB", s."IsTemplate", s."PoweredOn", s."SrmPlaceholder", s."VmUuid",
|
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."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."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,
|
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"
|
LEFT JOIN inventory inv ON inv."VmId" = s."VmId" AND inv."Vcenter" = s."Vcenter"
|
||||||
GROUP BY
|
GROUP BY
|
||||||
s."InventoryId", s."Name", s."Vcenter", s."VmId", s."EventKey", s."CloudId",
|
s."InventoryId", s."Name", s."Vcenter", s."VmId", s."EventKey", s."CloudId",
|
||||||
s."Datacenter", s."Cluster", s."Folder", s."ProvisionedDisk", s."VcpuCount",
|
s."Datacenter", s."Cluster", s."Folder",
|
||||||
s."RamGB", s."IsTemplate", s."PoweredOn", s."SrmPlaceholder", s."VmUuid"
|
s."IsTemplate", s."PoweredOn", s."SrmPlaceholder", s."VmUuid"
|
||||||
)
|
)
|
||||||
INSERT INTO %s (
|
INSERT INTO %s (
|
||||||
"InventoryId", "Name", "Vcenter", "VmId", "EventKey", "CloudId", "CreationTime", "DeletionTime",
|
"InventoryId", "Name", "Vcenter", "VmId", "EventKey", "CloudId", "CreationTime", "DeletionTime",
|
||||||
@@ -1062,8 +1065,32 @@ SELECT
|
|||||||
ORDER BY s2."SnapshotTime" DESC
|
ORDER BY s2."SnapshotTime" DESC
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
) AS "ResourcePool",
|
) AS "ResourcePool",
|
||||||
agg."Datacenter", agg."Cluster", agg."Folder", agg."ProvisionedDisk", agg."VcpuCount",
|
agg."Datacenter", agg."Cluster", agg."Folder",
|
||||||
agg."RamGB", agg."IsTemplate", agg."PoweredOn", agg."SrmPlaceholder", agg."VmUuid",
|
(
|
||||||
|
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",
|
agg.samples_present AS "SamplesPresent",
|
||||||
CASE WHEN totals.total_samples > 0
|
CASE WHEN totals.total_samples > 0
|
||||||
THEN 1.0 * agg.sum_vcpu / totals.total_samples
|
THEN 1.0 * agg.sum_vcpu / totals.total_samples
|
||||||
@@ -1105,8 +1132,8 @@ FROM agg
|
|||||||
CROSS JOIN totals
|
CROSS JOIN totals
|
||||||
GROUP BY
|
GROUP BY
|
||||||
agg."InventoryId", agg."Name", agg."Vcenter", agg."VmId", agg."EventKey", agg."CloudId",
|
agg."InventoryId", agg."Name", agg."Vcenter", agg."VmId", agg."EventKey", agg."CloudId",
|
||||||
agg."Datacenter", agg."Cluster", agg."Folder", agg."ProvisionedDisk", agg."VcpuCount",
|
agg."Datacenter", agg."Cluster", agg."Folder",
|
||||||
agg."RamGB", agg."IsTemplate", agg."PoweredOn", agg."SrmPlaceholder", agg."VmUuid",
|
agg."IsTemplate", agg."PoweredOn", agg."SrmPlaceholder", agg."VmUuid",
|
||||||
agg.any_creation, agg.any_deletion, agg.first_present, agg.last_present,
|
agg.any_creation, agg.any_deletion, agg.first_present, agg.last_present,
|
||||||
totals.total_samples;
|
totals.total_samples;
|
||||||
`, unionQuery, tableName)
|
`, unionQuery, tableName)
|
||||||
|
|||||||
Reference in New Issue
Block a user