winterhazel commented on PR #12284:
URL: https://github.com/apache/cloudstack/pull/12284#issuecomment-3672073637
@DaanHoogland I extracted the code that builds the parameters to a method.
Tests are also ok.
I noticed that there was another regression in which admins were not able to
list the metrics of VMs/volumes belonging to projects via the `ids` parameter.
It should be fixed now too.
<details>
<summary> Example </summary>
```
<before>
(admin) 🐢 > list virtualmachinesusagehistory
id=69ecb2a6-dc91-46b9-a5d9-06e8222c5084
{
"count": 1,
"virtualmachine": [
{
"displayname": "k",
"id": "69ecb2a6-dc91-46b9-a5d9-06e8222c5084",
"name": "i-2-88-VM",
"stats": [
{
"cpuused": "0%",
"diskiopstotal": 0,
"diskioread": 0,
"diskiowrite": 0,
"diskkbsread": 0,
"diskkbswrite": 0,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:21:54+0000"
},
{
"cpuused": "20.77%",
"diskiopstotal": 835,
"diskioread": 640,
"diskiowrite": 195,
"diskkbsread": 10876,
"diskkbswrite": 1612,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 2,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:22:54+0000"
},
{
"cpuused": "13.52%",
"diskiopstotal": 0,
"diskioread": 0,
"diskiowrite": 0,
"diskkbsread": 0,
"diskkbswrite": 0,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:23:54+0000"
}
]
}
]
}
(admin) 🐢 > list virtualmachinesusagehistory
ids=69ecb2a6-dc91-46b9-a5d9-06e8222c5084
<empty>
<with the patch>
(admin) 🐢 > list virtualmachinesusagehistory
ids=69ecb2a6-dc91-46b9-a5d9-06e8222c5084
{
"count": 1,
"virtualmachine": [
{
"displayname": "k",
"id": "69ecb2a6-dc91-46b9-a5d9-06e8222c5084",
"name": "i-2-88-VM",
"stats": [
{
"cpuused": "0%",
"diskiopstotal": 0,
"diskioread": 0,
"diskiowrite": 0,
"diskkbsread": 0,
"diskkbswrite": 0,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:21:54+0000"
},
{
"cpuused": "20.77%",
"diskiopstotal": 835,
"diskioread": 640,
"diskiowrite": 195,
"diskkbsread": 10876,
"diskkbswrite": 1612,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 2,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:22:54+0000"
},
{
"cpuused": "13.52%",
"diskiopstotal": 0,
"diskioread": 0,
"diskiowrite": 0,
"diskkbsread": 0,
"diskkbswrite": 0,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:23:54+0000"
},
{
"cpuused": "60.96%",
"diskiopstotal": 1116,
"diskioread": 902,
"diskiowrite": 214,
"diskkbsread": 67400,
"diskkbswrite": 2040,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:24:55+0000"
},
{
"cpuused": "40.05%",
"diskiopstotal": 277,
"diskioread": 110,
"diskiowrite": 167,
"diskkbsread": 13304,
"diskkbswrite": 38524,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:25:56+0000"
},
{
"cpuused": "26.1%",
"diskiopstotal": 3,
"diskioread": 0,
"diskiowrite": 3,
"diskkbsread": 0,
"diskkbswrite": 16,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:26:58+0000"
},
{
"cpuused": "25.4%",
"diskiopstotal": 1,
"diskioread": 0,
"diskiowrite": 1,
"diskkbsread": 0,
"diskkbswrite": 4,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:27:59+0000"
},
{
"cpuused": "24.83%",
"diskiopstotal": 0,
"diskioread": 0,
"diskiowrite": 0,
"diskkbsread": 0,
"diskkbswrite": 0,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:29:02+0000"
},
{
"cpuused": "24.91%",
"diskiopstotal": 0,
"diskioread": 0,
"diskiowrite": 0,
"diskkbsread": 0,
"diskkbswrite": 0,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:30:04+0000"
},
{
"cpuused": "25.87%",
"diskiopstotal": 0,
"diskioread": 0,
"diskiowrite": 0,
"diskkbsread": 0,
"diskkbswrite": 0,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:31:09+0000"
},
{
"cpuused": "25.24%",
"diskiopstotal": 0,
"diskioread": 0,
"diskiowrite": 0,
"diskkbsread": 0,
"diskkbswrite": 0,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:32:11+0000"
},
{
"cpuused": "20.79%",
"diskiopstotal": 0,
"diskioread": 0,
"diskiowrite": 0,
"diskkbsread": 0,
"diskkbswrite": 0,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:33:12+0000"
},
{
"cpuused": "6.03%",
"diskiopstotal": 0,
"diskioread": 0,
"diskiowrite": 0,
"diskkbsread": 0,
"diskkbswrite": 0,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:34:13+0000"
},
{
"cpuused": "5.77%",
"diskiopstotal": 0,
"diskioread": 0,
"diskiowrite": 0,
"diskkbsread": 0,
"diskkbswrite": 0,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:35:13+0000"
},
{
"cpuused": "5.78%",
"diskiopstotal": 0,
"diskioread": 0,
"diskiowrite": 0,
"diskkbsread": 0,
"diskkbswrite": 0,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:36:13+0000"
},
{
"cpuused": "7.01%",
"diskiopstotal": 158,
"diskioread": 103,
"diskiowrite": 55,
"diskkbsread": 412,
"diskkbswrite": 472,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:37:13+0000"
},
{
"cpuused": "8.05%",
"diskiopstotal": 3,
"diskioread": 0,
"diskiowrite": 3,
"diskkbsread": 0,
"diskkbswrite": 16,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:38:14+0000"
},
{
"cpuused": "8.79%",
"diskiopstotal": 0,
"diskioread": 0,
"diskiowrite": 0,
"diskkbsread": 0,
"diskkbswrite": 0,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:39:14+0000"
},
{
"cpuused": "6.4%",
"diskiopstotal": 0,
"diskioread": 0,
"diskiowrite": 0,
"diskkbsread": 0,
"diskkbswrite": 0,
"memoryintfreekbs": 353728,
"memorykbs": 524288,
"memorytargetkbs": 524288,
"networkkbsread": 0,
"networkkbswrite": 0,
"networkread": "0.00 MiB",
"networkwrite": "0.00 MiB",
"timestamp": "2025-12-18T19:40:14+0000"
}
]
}
]
}
```
</details>
Also, passing the `ids` parameter to `listVolumesUsageHistory` was throwing
an exception. I took the opportunity to fix this here as well.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]