diff --git a/ceilometer/compute/pollsters/disk.py b/ceilometer/compute/pollsters/disk.py index 9a15fa988b..a038eb05cf 100644 --- a/ceilometer/compute/pollsters/disk.py +++ b/ceilometer/compute/pollsters/disk.py @@ -95,7 +95,7 @@ class PerDeviceDiskWriteLatencyPollster(PerDeviceDiskPollster): class EphemeralSizePollster(pollsters.InstanceMetadataPollster): sample_name = 'disk.ephemeral.size' - sample_unit = 'GB' + sample_unit = 'GiB' def get_volume(self, instance): return int(instance.flavor['ephemeral']) @@ -103,7 +103,7 @@ class EphemeralSizePollster(pollsters.InstanceMetadataPollster): class RootSizePollster(pollsters.InstanceMetadataPollster): sample_name = 'disk.root.size' - sample_unit = 'GB' + sample_unit = 'GiB' def get_volume(self, instance): return (int(instance.flavor['disk']) diff --git a/ceilometer/compute/pollsters/instance_stats.py b/ceilometer/compute/pollsters/instance_stats.py index a601d3f398..1ba411d502 100644 --- a/ceilometer/compute/pollsters/instance_stats.py +++ b/ceilometer/compute/pollsters/instance_stats.py @@ -46,38 +46,38 @@ class VCPUsPollster(InstanceStatsPollster): class MemoryPollster(InstanceStatsPollster): sample_name = 'memory' - sample_unit = 'MB' + sample_unit = 'MiB' sample_stats_key = 'memory_actual' class MemoryAvailablePollster(InstanceStatsPollster): sample_name = 'memory.available' - sample_unit = 'MB' + sample_unit = 'MiB' sample_stats_key = 'memory_available' class MemoryUsagePollster(InstanceStatsPollster): sample_name = 'memory.usage' - sample_unit = 'MB' + sample_unit = 'MiB' sample_stats_key = 'memory_usage' class MemoryResidentPollster(InstanceStatsPollster): sample_name = 'memory.resident' - sample_unit = 'MB' + sample_unit = 'MiB' sample_stats_key = 'memory_resident' class MemorySwapInPollster(InstanceStatsPollster): sample_name = 'memory.swap.in' - sample_unit = 'MB' + sample_unit = 'MiB' sample_stats_key = 'memory_swap_in' sample_type = sample.TYPE_CUMULATIVE class MemorySwapOutPollster(InstanceStatsPollster): sample_name = 'memory.swap.out' - sample_unit = 'MB' + sample_unit = 'MiB' sample_stats_key = 'memory_swap_out' sample_type = sample.TYPE_CUMULATIVE diff --git a/ceilometer/compute/virt/libvirt/inspector.py b/ceilometer/compute/virt/libvirt/inspector.py index 2febadf9a9..b7ba41fde3 100644 --- a/ceilometer/compute/virt/libvirt/inspector.py +++ b/ceilometer/compute/virt/libvirt/inspector.py @@ -213,7 +213,7 @@ class LibvirtInspector(virt_inspector.Inspector): memory_used = memory_resident = None memory_swap_in = memory_swap_out = None memory_stats = domain.memoryStats() - # Stat provided from libvirt is in KB, converting it to MB. + # Stat provided from libvirt is in KiB, converting it to MiB. if 'actual' in memory_stats: memory_actual = memory_stats['actual'] / units.Ki if 'available' in memory_stats: diff --git a/ceilometer/data/meters.d/meters.yaml b/ceilometer/data/meters.d/meters.yaml index 03aede2e99..7b33f12885 100644 --- a/ceilometer/data/meters.d/meters.yaml +++ b/ceilometer/data/meters.d/meters.yaml @@ -33,42 +33,42 @@ metric: - name: 'volume.provider.capacity.total' event_type: 'capacity.backend.*' type: 'gauge' - unit: 'GB' + unit: 'GiB' volume: $.payload.total resource_id: $.payload.name_to_id - name: 'volume.provider.capacity.free' event_type: 'capacity.backend.*' type: 'gauge' - unit: 'GB' + unit: 'GiB' volume: $.payload.free resource_id: $.payload.name_to_id - name: 'volume.provider.capacity.allocated' event_type: 'capacity.backend.*' type: 'gauge' - unit: 'GB' + unit: 'GiB' volume: $.payload.allocated resource_id: $.payload.name_to_id - name: 'volume.provider.capacity.provisioned' event_type: 'capacity.backend.*' type: 'gauge' - unit: 'GB' + unit: 'GiB' volume: $.payload.provisioned resource_id: $.payload.name_to_id - name: 'volume.provider.capacity.virtual_free' event_type: 'capacity.backend.*' type: 'gauge' - unit: 'GB' + unit: 'GiB' volume: $.payload.virtual_free resource_id: $.payload.name_to_id - name: 'volume.provider.pool.capacity.total' event_type: 'capacity.pool.*' type: 'gauge' - unit: 'GB' + unit: 'GiB' volume: $.payload.total resource_id: $.payload.name_to_id metadata: &provider_pool_meta @@ -77,7 +77,7 @@ metric: - name: 'volume.provider.pool.capacity.free' event_type: 'capacity.pool.*' type: 'gauge' - unit: 'GB' + unit: 'GiB' volume: $.payload.free resource_id: $.payload.name_to_id metadata: @@ -86,7 +86,7 @@ metric: - name: 'volume.provider.pool.capacity.allocated' event_type: 'capacity.pool.*' type: 'gauge' - unit: 'GB' + unit: 'GiB' volume: $.payload.allocated resource_id: $.payload.name_to_id metadata: @@ -95,7 +95,7 @@ metric: - name: 'volume.provider.pool.capacity.provisioned' event_type: 'capacity.pool.*' type: 'gauge' - unit: 'GB' + unit: 'GiB' volume: $.payload.provisioned resource_id: $.payload.name_to_id metadata: @@ -104,7 +104,7 @@ metric: - name: 'volume.provider.pool.capacity.virtual_free' event_type: 'capacity.pool.*' type: 'gauge' - unit: 'GB' + unit: 'GiB' volume: $.payload.virtual_free resource_id: $.payload.name_to_id metadata: @@ -122,7 +122,7 @@ metric: - 'volume.update.*' - 'volume.manage.*' type: 'gauge' - unit: 'GB' + unit: 'GiB' volume: $.payload.size user_id: $.payload.user_id project_id: $.payload.tenant_id @@ -141,7 +141,7 @@ metric: - 'snapshot.delete.*' - 'snapshot.manage.*' type: 'gauge' - unit: 'GB' + unit: 'GiB' volume: $.payload.volume_size user_id: $.payload.user_id project_id: $.payload.tenant_id @@ -156,7 +156,7 @@ metric: - 'backup.delete.*' - 'backup.restore.*' type: 'gauge' - unit: 'GB' + unit: 'GiB' volume: $.payload.size user_id: $.payload.user_id project_id: $.payload.tenant_id @@ -189,7 +189,7 @@ metric: - name: 'memory' event_type: &instance_events compute.instance.(?!create.start|update).* type: 'gauge' - unit: 'MB' + unit: 'MiB' volume: $.payload.memory_mb user_id: $.payload.user_id project_id: $.payload.tenant_id @@ -234,7 +234,7 @@ metric: - name: 'disk.root.size' event_type: *instance_events type: 'gauge' - unit: 'GB' + unit: 'GiB' volume: $.payload.root_gb user_id: $.payload.user_id project_id: $.payload.tenant_id @@ -246,7 +246,7 @@ metric: - name: 'disk.ephemeral.size' event_type: *instance_events type: 'gauge' - unit: 'GB' + unit: 'GiB' volume: $.payload.ephemeral_gb user_id: $.payload.user_id project_id: $.payload.tenant_id @@ -436,7 +436,7 @@ metric: - 'share.extend.*' - 'share.shrink.*' type: 'gauge' - unit: 'GB' + unit: 'GiB' volume: $.payload.size user_id: $.payload.user_id project_id: $.payload.project_id diff --git a/ceilometer/tests/unit/publisher/test_gnocchi.py b/ceilometer/tests/unit/publisher/test_gnocchi.py index cf9af53167..c2376ed4e0 100644 --- a/ceilometer/tests/unit/publisher/test_gnocchi.py +++ b/ceilometer/tests/unit/publisher/test_gnocchi.py @@ -206,7 +206,7 @@ class PublisherTest(base.BaseTestCase): self.resource_id = str(uuid.uuid4()) self.samples = [sample.Sample( name='disk.root.size', - unit='GB', + unit='GiB', type=sample.TYPE_GAUGE, volume=2, user_id='test_user', @@ -223,7 +223,7 @@ class PublisherTest(base.BaseTestCase): ), sample.Sample( name='disk.root.size', - unit='GB', + unit='GiB', type=sample.TYPE_GAUGE, volume=2, user_id='test_user', @@ -367,7 +367,7 @@ class PublisherTest(base.BaseTestCase): def test_unhandled_meter(self, fake_batch): samples = [sample.Sample( name='unknown.meter', - unit='GB', + unit='GiB', type=sample.TYPE_GAUGE, volume=2, user_id='test_user', @@ -389,7 +389,7 @@ class PublisherTest(base.BaseTestCase): samples = [ sample.Sample( name='unknown.meter', - unit='GB', + unit='GiB', type=sample.TYPE_GAUGE, volume=2, user_id='test_user', @@ -400,7 +400,7 @@ class PublisherTest(base.BaseTestCase): resource_metadata={}), sample.Sample( name='unknown.meter', - unit='GB', + unit='GiB', type=sample.TYPE_GAUGE, volume=2, user_id='test_user', @@ -497,7 +497,7 @@ class PublisherWorkflowTest(base.BaseTestCase, sample=sample.Sample( resource_id=str(uuid.uuid4()) + "_foobar", name='disk.root.size', - unit='GB', + unit='GiB', type=sample.TYPE_GAUGE, volume=2, user_id='test_user', @@ -513,7 +513,7 @@ class PublisherWorkflowTest(base.BaseTestCase, ), metric_attributes={ "archive_policy_name": "ceilometer-low", - "unit": "GB", + "unit": "GiB", "measures": [{ 'timestamp': '2012-05-08 20:23:48.028195', 'value': 2 diff --git a/ceilometer/tests/unit/test_prom_exporter.py b/ceilometer/tests/unit/test_prom_exporter.py index 06c888ab1e..21fee8a001 100644 --- a/ceilometer/tests/unit/test_prom_exporter.py +++ b/ceilometer/tests/unit/test_prom_exporter.py @@ -140,7 +140,7 @@ class TestPromExporter(base.BaseTestCase): 'source': 'openstack', 'counter_name': 'memory.usage', 'counter_type': 'gauge', - 'counter_unit': 'MB', + 'counter_unit': 'MiB', 'counter_volume': 37.98046875, 'user_id': '6e7d71415cd5401cbe103829c9c5dec2', 'user_name': None, @@ -326,7 +326,7 @@ class TestPromExporter(base.BaseTestCase): 'resource': 'e536fff6-b20d-4aa5-ac2f-d15ac8b3af63', 'resource_name': 'myserver:instance-00000002', 'type': 'usage', - 'unit': 'MB', + 'unit': 'MiB', 'user': '6e7d71415cd5401cbe103829c9c5dec2', 'vm_instance': 'e0d297f5df3b62ec73c8d42b', 'server_group': 'none', @@ -386,7 +386,7 @@ class TestPromExporter(base.BaseTestCase): slabels2['values'] = ['e536fff6-b20d-4aa5-ac2f-d15ac8b3af63', 'ceilometer', 'usage', 'memory.usage', 'd965489b7f894cbda89cd2e25bfd85a0', - '6e7d71415cd5401cbe103829c9c5dec2', 'MB', + '6e7d71415cd5401cbe103829c9c5dec2', 'MiB', 'e536fff6-b20d-4aa5-ac2f-d15ac8b3af63', 'e0d297f5df3b62ec73c8d42b', 'myserver:instance-00000002', 'none', diff --git a/ceilometer/volume/cinder.py b/ceilometer/volume/cinder.py index df9654222b..98b9d6392e 100644 --- a/ceilometer/volume/cinder.py +++ b/ceilometer/volume/cinder.py @@ -61,7 +61,7 @@ class VolumeSizePollster(_Base): yield sample.Sample( name='volume.size', type=sample.TYPE_GAUGE, - unit='GB', + unit='GiB', volume=volume.size, user_id=volume.user_id, project_id=getattr(volume, @@ -89,7 +89,7 @@ class VolumeSnapshotSize(_Base): yield sample.Sample( name='volume.snapshot.size', type=sample.TYPE_GAUGE, - unit='GB', + unit='GiB', volume=snapshot.size, user_id=snapshot.user_id, project_id=getattr( @@ -118,7 +118,7 @@ class VolumeBackupSize(_Base): yield sample.Sample( name='volume.backup.size', type=sample.TYPE_GAUGE, - unit='GB', + unit='GiB', volume=backup.size, user_id=backup.user_id, project_id=getattr( @@ -145,7 +145,7 @@ class VolumeProviderPoolCapacityTotal(_VolumeProviderPoolBase): yield sample.Sample( name='volume.provider.pool.capacity.total', type=sample.TYPE_GAUGE, - unit='GB', + unit='GiB', volume=pool.total_capacity_gb, user_id=None, project_id=None, @@ -164,7 +164,7 @@ class VolumeProviderPoolCapacityFree(_VolumeProviderPoolBase): yield sample.Sample( name='volume.provider.pool.capacity.free', type=sample.TYPE_GAUGE, - unit='GB', + unit='GiB', volume=pool.free_capacity_gb, user_id=None, project_id=None, @@ -184,7 +184,7 @@ class VolumeProviderPoolCapacityProvisioned(_VolumeProviderPoolBase): yield sample.Sample( name='volume.provider.pool.capacity.provisioned', type=sample.TYPE_GAUGE, - unit='GB', + unit='GiB', volume=pool.provisioned_capacity_gb, user_id=None, project_id=None, @@ -217,7 +217,7 @@ class VolumeProviderPoolCapacityVirtualFree(_VolumeProviderPoolBase): yield sample.Sample( name='volume.provider.pool.capacity.virtual_free', type=sample.TYPE_GAUGE, - unit='GB', + unit='GiB', volume=value, user_id=None, project_id=None, @@ -236,7 +236,7 @@ class VolumeProviderPoolCapacityAllocated(_VolumeProviderPoolBase): yield sample.Sample( name='volume.provider.pool.capacity.allocated', type=sample.TYPE_GAUGE, - unit='GB', + unit='GiB', volume=pool.allocated_capacity_gb, user_id=None, project_id=None, diff --git a/doc/source/admin/telemetry-data-collection.rst b/doc/source/admin/telemetry-data-collection.rst index 02e1d5a573..46f479f742 100644 --- a/doc/source/admin/telemetry-data-collection.rst +++ b/doc/source/admin/telemetry-data-collection.rst @@ -87,7 +87,7 @@ A standard meter definition looks like: - name: 'meter name' event_type: 'event name' type: 'type of meter eg: gauge, cumulative or delta' - unit: 'name of unit eg: MB' + unit: 'name of unit eg: MiB' volume: 'path to a measurable value eg: $.payload.size' resource_id: 'path to resource id eg: $.payload.id' project_id: 'path to project id eg: $.payload.owner' diff --git a/doc/source/admin/telemetry-measurements.rst b/doc/source/admin/telemetry-measurements.rst index 78739c43f9..a030e1ca03 100644 --- a/doc/source/admin/telemetry-measurements.rst +++ b/doc/source/admin/telemetry-measurements.rst @@ -85,17 +85,17 @@ The following meters are collected for OpenStack Compute. +===========+=======+======+==========+==========+=========+==================+ | **Meters added in the Mitaka release or earlier** | +-----------+-------+------+----------+----------+---------+------------------+ -| memory | Gauge | MB | instance | Notific\ | Libvirt | Volume of RAM | +| memory | Gauge | MiB | instance | Notific\ | Libvirt | Volume of RAM | | | | | ID | ation, \ | | allocated to the | | | | | | Pollster | | instance | +-----------+-------+------+----------+----------+---------+------------------+ -| memory.\ | Gauge | MB | instance | Pollster | Libvirt,| Volume of RAM | +| memory.\ | Gauge | MiB | instance | Pollster | Libvirt | Volume of RAM | | usage | | | ID | | | used by the inst\| | | | | | | | ance from the | | | | | | | | amount of its | | | | | | | | allocated memory | +-----------+-------+------+----------+----------+---------+------------------+ -| memory.r\ | Gauge | MB | instance | Pollster | Libvirt | Volume of RAM u\ | +| memory.r\ | Gauge | MiB | instance | Pollster | Libvirt | Volume of RAM u\ | | esident | | | ID | | | sed by the inst\ | | | | | | | | ance on the phy\ | | | | | | | | sical machine | @@ -123,11 +123,11 @@ The following meters are collected for OpenStack Compute. | ice.write\| lative| | | | | | | .bytes | | | | | | | +-----------+-------+------+----------+----------+---------+------------------+ -| disk.root\| Gauge | GB | instance | Notific\ | Libvirt | Size of root disk| +| disk.root\| Gauge | GiB | instance | Notific\ | Libvirt | Size of root disk| | .size | | | ID | ation, \ | | | | | | | | Pollster | | | +-----------+-------+------+----------+----------+---------+------------------+ -| disk.ephe\| Gauge | GB | instance | Notific\ | Libvirt | Size of ephemeral| +| disk.ephe\| Gauge | GiB | instance | Notific\ | Libvirt | Size of ephemeral| | meral.size| | | ID | ation, \ | | disk | | | | | | Pollster | | | +-----------+-------+------+----------+----------+---------+------------------+ @@ -206,11 +206,11 @@ The following meters are collected for OpenStack Compute. | **Meters added in the Pike release** | +-----------+-------+------+----------+----------+---------+------------------+ | memory.\ | Cumul\| | | | | | -| swap.in | ative | MB | instance | Pollster | Libvirt | Memory swap in | +| swap.in | ative | MiB | instance | Pollster | Libvirt | Memory swap in | | | | | ID | | | | +-----------+-------+------+----------+----------+---------+------------------+ | memory.\ | Cumul\| | | | | | -| swap.out | ative | MB | instance | Pollster | Libvirt | Memory swap out | +| swap.out | ative | MiB | instance | Pollster | Libvirt | Memory swap out | | | | | ID | | | | +-----------+-------+------+----------+----------+---------+------------------+ | **Meters added in the Queens release** | @@ -230,7 +230,7 @@ The following meters are collected for OpenStack Compute. +-----------+-------+------+----------+----------+---------+------------------+ | **Meters added in the Flamingo release** | +-----------+-------+------+----------+----------+---------+------------------+ -| memory.\ | Gauge | MB | instance | Pollster | Libvirt | Volume of RAM | +| memory.\ | Gauge | MiB | instance | Pollster | Libvirt | Volume of RAM | | available | | | ID | | | available to the | | | | | | | | instance as seen | | | | | | | | from within the | @@ -380,48 +380,48 @@ The following meters are collected for OpenStack Block Storage: +====================+=======+========+==========+==========+=================+ | **Meters added in the Mitaka release or earlier** | +--------------------+-------+--------+----------+----------+-----------------+ -| volume.size | Gauge | GB | volume ID| Notifica\| Size of the vol\| +| volume.size | Gauge | GiB | volume ID| Notifica\| Size of the vol\| | | | | | tion | ume | +--------------------+-------+--------+----------+----------+-----------------+ -| snapshot.size | Gauge | GB | snapshot | Notifica\| Size of the sna\| +| snapshot.size | Gauge | GiB | snapshot | Notifica\| Size of the sna\| | | | | ID | tion | pshot | +--------------------+-------+--------+----------+----------+-----------------+ | **Meters added in the Queens release** | +--------------------+-------+--------+----------+----------+-----------------+ -| volume.provider.ca\| Gauge | GB | hostname | Notifica\| Total volume | +| volume.provider.ca\| Gauge | GiB | hostname | Notifica\| Total volume | | pacity.total | | | | tion | capacity on host| +--------------------+-------+--------+----------+----------+-----------------+ -| volume.provider.ca\| Gauge | GB | hostname | Notifica\| Free volume | +| volume.provider.ca\| Gauge | GiB | hostname | Notifica\| Free volume | | pacity.free | | | | tion | capacity on host| +--------------------+-------+--------+----------+----------+-----------------+ -| volume.provider.ca\| Gauge | GB | hostname | Notifica\| Assigned volume | +| volume.provider.ca\| Gauge | GiB | hostname | Notifica\| Assigned volume | | pacity.allocated | | | | tion | capacity on host| | | | | | | by Cinder | +--------------------+-------+--------+----------+----------+-----------------+ -| volume.provider.ca\| Gauge | GB | hostname | Notifica\| Assigned volume | +| volume.provider.ca\| Gauge | GiB | hostname | Notifica\| Assigned volume | | pacity.provisioned | | | | tion | capacity on host| +--------------------+-------+--------+----------+----------+-----------------+ -| volume.provider.ca\| Gauge | GB | hostname | Notifica\| Virtual free | +| volume.provider.ca\| Gauge | GiB | hostname | Notifica\| Virtual free | | pacity.virtual_free| | | | tion | volume capacity | | | | | | | on host | +--------------------+-------+--------+----------+----------+-----------------+ -| volume.provider.po\| Gauge | GB | hostname\| Notifica\| Total volume | +| volume.provider.po\| Gauge | GiB | hostname\| Notifica\| Total volume | | ol.capacity.total | | | #pool | tion, Po\| capacity in pool| | | | | | llster | | +--------------------+-------+--------+----------+----------+-----------------+ -| volume.provider.po\| Gauge | GB | hostname\| Notifica\| Free volume | +| volume.provider.po\| Gauge | GiB | hostname\| Notifica\| Free volume | | ol.capacity.free | | | #pool | tion, Po\| capacity in pool| | | | | | llster | | +--------------------+-------+--------+----------+----------+-----------------+ -| volume.provider.po\| Gauge | GB | hostname\| Notifica\| Assigned volume | +| volume.provider.po\| Gauge | GiB | hostname\| Notifica\| Assigned volume | | ol.capacity.alloca\| | | #pool | tion, Po\| capacity in pool| | ted | | | | llster | by Cinder | +--------------------+-------+--------+----------+----------+-----------------+ -| volume.provider.po\| Gauge | GB | hostname\| Notifica\| Assigned volume | +| volume.provider.po\| Gauge | GiB | hostname\| Notifica\| Assigned volume | | ol.capacity.provis\| | | #pool | tion, Po\| capacity in pool| | ioned | | | | llster | | +--------------------+-------+--------+----------+----------+-----------------+ -| volume.provider.po\| Gauge | GB | hostname\| Notifica\| Virtual free | +| volume.provider.po\| Gauge | GiB | hostname\| Notifica\| Virtual free | | ol.capacity.virtua\| | | #pool | tion, Po\| volume capacity | | l_free | | | | llster | in pool | +--------------------+-------+--------+----------+----------+-----------------+ @@ -436,7 +436,7 @@ The following meters are collected for OpenStack File Share: +====================+=======+========+==========+==========+=================+ | **Meters added in the Pike release** | +--------------------+-------+--------+----------+----------+-----------------+ -| manila.share.size | Gauge | GB | share ID | Notifica\| Size of the fil\| +| manila.share.size | Gauge | GiB | share ID | Notifica\| Size of the fil\| | | | | | tion | e share | +--------------------+-------+--------+----------+----------+-----------------+ diff --git a/releasenotes/notes/fix-size-metric-units-e6028b4b4fc3e6aa.yaml b/releasenotes/notes/fix-size-metric-units-e6028b4b4fc3e6aa.yaml new file mode 100644 index 0000000000..2b62c277ab --- /dev/null +++ b/releasenotes/notes/fix-size-metric-units-e6028b4b4fc3e6aa.yaml @@ -0,0 +1,40 @@ +--- +upgrade: + - | + The reported units for the following metrics were changed from ``MB`` and + ``GB`` to ``MiB`` and ``GiB`` respectively, as the metrics are actually + in **mebibytes**/**gibibytes**: + + * ``memory``/``memory.*`` + * ``disk.root.size`` + * ``disk.ephemeral.size`` + * ``volume.size`` + * ``volume.snapshot.size``/``snapshot.size`` + * ``volume.backup.size``/``backup.size`` + * ``volume.provider.capacity.*``/``volume.provider.pool.capacity.*`` + * ``manila.share.size`` + + Following the upgrade, the storage backends Ceilometer publishes to will + go through an intermediary period where metrics using both the old and + new units will exist at the same time: + + * In Gnocchi, newly created metrics will set ``unit`` to the newer values. + Existing metrics on existing resources, however, will not have their + unit updated automatically. They will need to be changed manually, + if required. + * In Prometheus, the ``unit`` label will change for the above metrics, + causing Prometheus to treat them as separate metrics (though with + otherwise identical labels) for non-aggregated queries. These separate + metrics will co-exist until the old metrics expire, but the overlap + between the old and new metrics should be small unless your query + window is wide. If you perform any PromQL queries overlapping the + changeover period that **must** have a single metric per resource, + you could use aggregations like ``max without (unit) (...)`` to + take into account this change. + + Regarding the values of the metrics themselves, please note that the + **actual values have not changed**, only the reported unit names. + There is no action needed unless you are converting the metrics to + other units (or referencing the reported units in some way), in which + case we would recommend double checking that the values are being + handled correctly.