)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"change_message_id":"1b3086b4e6ca441b9e3cd819cff05598a1f37327","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"883d6256_368479ce","updated":"2025-03-05 09:26:11.000000000","message":"Example of the metrics as reported by the prometheus exporter: https://paste.opendev.org/show/bVLnNfcBDZoXQDBBMH0z/","commit_id":"2668d57c08e166b60b67ab922ebfaa3200d16ea2"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9b38d64f6e2f451a131a2ee4c2c292b0ea2f852e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ff4bba2f_6d040745","updated":"2025-03-05 15:22:11.000000000","message":"The change looks almost good to me, but please also add a release note and update the documentation to include the new metrics.","commit_id":"ce890047de2a9b069ce8c9c3a20020be5ee03454"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"8a4108a4138b860fcbf1bf35e6c8660b7b0033ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"46a36d99_1c8ce414","updated":"2025-03-11 14:41:30.000000000","message":"I noticed that there already exist `volume.provider.pool.capacity.*` meters, which are gathered from event notifications. We should use that meter name instead of creating a new but duplicate meters.","commit_id":"a5a48ca99f97872e045d10f492d6908a1b73381b"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"26a6f67d070ab1be5280dff6f2dd895da74c8547","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c0af3081_817c4b1b","in_reply_to":"3a47ea60_d56e24ad","updated":"2025-03-11 17:10:26.000000000","message":"Nevermind my comment, I read yours wrong Takashi.","commit_id":"a5a48ca99f97872e045d10f492d6908a1b73381b"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"be6a4121e71345a42f4535e3369586c4f2803fca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3a47ea60_d56e24ad","in_reply_to":"46a36d99_1c8ce414","updated":"2025-03-11 15:45:55.000000000","message":"It seems not to provide a very consistent experience having almost all the metrics coming from the ceilometer poller, while 4 metrics come from events. We wanted to be able to retrieve all the metrics available via poller instead of having to mandate the user to enable the events just to get total numbers that can be retrieved elsewhere.\n\nWe intend to do the same with vcpus and memory metrics.\n\nMaybe we could deprecate the event-based volume.provider.pool.capacity.*, vcpu and memory meters to replace them with polling-based equivalent metrics. What do you think?","commit_id":"a5a48ca99f97872e045d10f492d6908a1b73381b"},{"author":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"change_message_id":"8a785082ddd3f0dd2583027b823d81803c94e9de","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"bf545f8e_fdd55741","in_reply_to":"c0af3081_817c4b1b","updated":"2025-03-12 19:45:26.000000000","message":"Good find. I renamed the meters to match the ones received by notifications and adjusted the tests documentation and so on.","commit_id":"a5a48ca99f97872e045d10f492d6908a1b73381b"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"f8d61fc5d795d9db1f0a044edfb5bd519b87dd05","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"b82d3df8_558aa904","updated":"2025-03-13 07:45:47.000000000","message":"Now that I have read correctlY and understood Takashi\u0027s comment, I want to express my doubts regarding the polling metrics being called identically from poller and from notification.\n\nWhat will happen if we are retrieving both of them at the same time in the same ceilometer instance?","commit_id":"76695a9dad7fa702903e1540d6ecfee89e2cfcb8"},{"author":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"change_message_id":"f8fa5b89ebe81fb94006556e7f5cc8ae693f58e7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9bec0616_1e115c3b","updated":"2025-03-12 19:46:08.000000000","message":"This is how it looks like in the Prometheus exporter now https://paste.opendev.org/show/b6bYmNgehpVo75Mapb9I/","commit_id":"76695a9dad7fa702903e1540d6ecfee89e2cfcb8"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6e96b52ed0f26df7425c2e3453976c7e48b26536","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f44808da_6deee47c","updated":"2025-03-13 08:59:11.000000000","message":"We have a few more meters like \u0027volume.provider.pool.capacity.provisioned\u0027 or \u0027volume.provider.pool.capacity.virtual_free\u0027, which can be also obtained from the API result.\n(You may have to calculate virtual_free as `allocation_ration * (total - reserved) - privisioned` but I think that\u0027s feasible)\n\nInstead of adding support for partial metrics, can we cover these all ?","commit_id":"76695a9dad7fa702903e1540d6ecfee89e2cfcb8"},{"author":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"change_message_id":"d08212288a521113f9d0603d03d35c1e998ad601","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"31f32b4c_c6b07420","updated":"2025-03-13 07:45:55.000000000","message":"recheck","commit_id":"76695a9dad7fa702903e1540d6ecfee89e2cfcb8"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"eed065c82d417b8c1bafd82c6eef5f689e477c42","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f398dd74_19eab582","in_reply_to":"45d4e33b_af404123","updated":"2025-03-26 09:01:05.000000000","message":"Sorry I noticed I should have mentioned subscription_ration instead of allocation_ratio...","commit_id":"76695a9dad7fa702903e1540d6ecfee89e2cfcb8"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"b1ca9f7829322f240e8700958b97be06c31f6dbc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e1bbbf18_3d78cf2f","in_reply_to":"affa3083_1a35cf08","updated":"2025-03-26 10:41:45.000000000","message":"Done","commit_id":"76695a9dad7fa702903e1540d6ecfee89e2cfcb8"},{"author":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"change_message_id":"3830466b44ddc2e8e438b3244e1e9a91217daae7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d307ae5c_8593673b","in_reply_to":"b82d3df8_558aa904","updated":"2025-03-13 07:52:12.000000000","message":"I have actually never done anything around the notification, so this is just a guess. But if you look at the publisher code, you can see there are always a \"publish_samples\" and \"publish_events\" functions. (for example https://opendev.org/openstack/ceilometer/src/branch/master/ceilometer/publisher/file.py). Same thing on the configuration level. You can have an event_pipeline and a pipeline for metrics.\n\nSo my assumption is, that the values are split the whole way through ceilometer and it completely depends on the user how they configure ceilometer and where each value will be stored.","commit_id":"76695a9dad7fa702903e1540d6ecfee89e2cfcb8"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"4db7104f7cb202ec11ec7622ebb5cf61e0bf9153","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"affa3083_1a35cf08","in_reply_to":"f398dd74_19eab582","updated":"2025-03-26 09:06:38.000000000","message":"https://github.com/openstack/cinder/blob/7c4cd7dd22fe8fee46873ba1e7008ad4214fb89d/cinder/utils.py#L768-L817 is where you can find formulas to calculate pool stats\nIt turned out cinder uses different logis for thick provisioned type and thin provisioned type and we have to determine whether max_over_subscription_ratio can be applied according to it.","commit_id":"76695a9dad7fa702903e1540d6ecfee89e2cfcb8"},{"author":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"change_message_id":"631d213521e92184ca8dd26fd768ebd41c3057f7","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"45d4e33b_af404123","in_reply_to":"f44808da_6deee47c","updated":"2025-03-21 15:38:59.000000000","message":"I added the 2 meters as well as a volume.provider.pool.capacity.allocated. I hope I got the virtual_free value right. I tried to follow your formula for the computation, but I\u0027m not sure if I understood it 100% correctly, so can you please take a look? I tried to search online on what a \"virtual free\" volume size actually is, but I didn\u0027t have much luck.","commit_id":"76695a9dad7fa702903e1540d6ecfee89e2cfcb8"},{"author":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"change_message_id":"631d213521e92184ca8dd26fd768ebd41c3057f7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"331740bb_f723f05d","updated":"2025-03-21 15:38:59.000000000","message":"An example with the new metrics https://paste.opendev.org/show/bln7q0xsmppgIHPJ5ylD/","commit_id":"282801c390eac01954cb3fcbfd8ff8b7cce03011"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"0aefd4ed54c38ea289c3980bc65e215b2f66f518","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"b4e56423_fdcb6b75","updated":"2025-03-26 12:03:49.000000000","message":"I am waiting to start merging patches until epoxy is released, as we are in code freeze now.","commit_id":"282801c390eac01954cb3fcbfd8ff8b7cce03011"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"8fe573080ead054abfa5e41a452bfc5d07c5ea19","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5ab6616f_b37a1795","updated":"2025-03-26 10:42:35.000000000","message":"I\u0027d avoid voting my +2 because I made some logic change.","commit_id":"3922db4f3d4f0df586a89894363148a6ee84b28e"},{"author":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"change_message_id":"101b3f9a11c7d51d96ca978e1ac4ae1a04faabb0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"bf89d84e_260c1cc3","updated":"2025-03-26 17:16:29.000000000","message":"Thank you @kajinamit@oss.nttdata.com","commit_id":"3922db4f3d4f0df586a89894363148a6ee84b28e"}],"ceilometer/volume/cinder.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"4db7104f7cb202ec11ec7622ebb5cf61e0bf9153","unresolved":true,"context_lines":[{"line_number":194,"context_line":"            allocation_ratio \u003d ("},{"line_number":195,"context_line":"                pool.allocated_capacity_gb / pool.total_capacity_gb"},{"line_number":196,"context_line":"            )"},{"line_number":197,"context_line":"            reserved_size \u003d ("},{"line_number":198,"context_line":"                (pool.reserved_percentage / 100) * pool.total_capacity_gb"},{"line_number":199,"context_line":"            )"},{"line_number":200,"context_line":"            value \u003d ("}],"source_content_type":"text/x-python","patch_set":5,"id":"518cbff6_aaee57cc","line":197,"range":{"start_line":197,"start_character":12,"end_line":197,"end_character":25},"updated":"2025-03-26 09:06:38.000000000","message":"apply math.floor to make this consistent which the size calculated in cinder.","commit_id":"282801c390eac01954cb3fcbfd8ff8b7cce03011"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"b1ca9f7829322f240e8700958b97be06c31f6dbc","unresolved":false,"context_lines":[{"line_number":194,"context_line":"            allocation_ratio \u003d ("},{"line_number":195,"context_line":"                pool.allocated_capacity_gb / pool.total_capacity_gb"},{"line_number":196,"context_line":"            )"},{"line_number":197,"context_line":"            reserved_size \u003d ("},{"line_number":198,"context_line":"                (pool.reserved_percentage / 100) * pool.total_capacity_gb"},{"line_number":199,"context_line":"            )"},{"line_number":200,"context_line":"            value \u003d ("}],"source_content_type":"text/x-python","patch_set":5,"id":"45293605_94db0ec3","line":197,"range":{"start_line":197,"start_character":12,"end_line":197,"end_character":25},"in_reply_to":"518cbff6_aaee57cc","updated":"2025-03-26 10:41:45.000000000","message":"Done","commit_id":"282801c390eac01954cb3fcbfd8ff8b7cce03011"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"eed065c82d417b8c1bafd82c6eef5f689e477c42","unresolved":true,"context_lines":[{"line_number":198,"context_line":"                (pool.reserved_percentage / 100) * pool.total_capacity_gb"},{"line_number":199,"context_line":"            )"},{"line_number":200,"context_line":"            value \u003d ("},{"line_number":201,"context_line":"                allocation_ratio *"},{"line_number":202,"context_line":"                (pool.total_capacity_gb - reserved_size) -"},{"line_number":203,"context_line":"                pool.provisioned_capacity_gb"},{"line_number":204,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":5,"id":"feeabfc0_a846dd89","line":201,"range":{"start_line":201,"start_character":16,"end_line":201,"end_character":32},"updated":"2025-03-26 09:01:05.000000000","message":"This should be pool.max_over_subscription_ratio","commit_id":"282801c390eac01954cb3fcbfd8ff8b7cce03011"}]}
