Counter renaming
Add naming rules to doc Rename root_disk_size -> disk.root.size Rename ephemeral_disk_size -> disk.ephemeral.size Rename floating_ip -> ip.floating Rename volume_size -> volume.size Change-Id: I4f99dd12efeea3acffbb79b551246b9e506d82a4
This commit is contained in:
parent
898016cbde
commit
ac23afa939
@ -122,7 +122,7 @@ class RootDiskSize(_Base):
|
||||
def process_notification(self, message):
|
||||
return [
|
||||
counter.Counter(source='?',
|
||||
name='root_disk_size',
|
||||
name='disk.root.size',
|
||||
type=counter.TYPE_GAUGE,
|
||||
volume=message['payload']['root_gb'],
|
||||
user_id=message['payload']['user_id'],
|
||||
@ -140,7 +140,7 @@ class EphemeralDiskSize(_Base):
|
||||
def process_notification(self, message):
|
||||
return [
|
||||
counter.Counter(source='?',
|
||||
name='ephemeral_disk_size',
|
||||
name='disk.ephemeral.size',
|
||||
type=counter.TYPE_GAUGE,
|
||||
volume=message['payload']['ephemeral_gb'],
|
||||
user_id=message['payload']['user_id'],
|
||||
|
@ -38,7 +38,7 @@ class FloatingIPPollster(plugin.CentralPollster):
|
||||
self.LOG.info("FLOATING IP USAGE: %s" % ip.address)
|
||||
yield counter.Counter(
|
||||
source='?',
|
||||
name='floating_ip',
|
||||
name='ip.floating',
|
||||
type=counter.TYPE_GAUGE,
|
||||
volume=1,
|
||||
user_id=None,
|
||||
|
@ -88,7 +88,7 @@ class VolumeSize(_Base):
|
||||
def process_notification(self, message):
|
||||
return [
|
||||
counter.Counter(source='?',
|
||||
name='volume_size',
|
||||
name='volume.size',
|
||||
type=counter.TYPE_GAUGE,
|
||||
volume=message['payload']['size'],
|
||||
user_id=message['payload']['user_id'],
|
||||
|
@ -34,7 +34,8 @@ Gauge Discrete items (floating IPs, image uploads) and fluctuating values
|
||||
Delta Changing over time (bandwidth)
|
||||
========== ==============================================================================
|
||||
|
||||
Here are the counter types by components that are currently implemented:
|
||||
|
||||
Here are the meter types by components that are currently implemented:
|
||||
|
||||
Compute (Nova)
|
||||
==============
|
||||
@ -43,14 +44,14 @@ Compute (Nova)
|
||||
Name Type Volume Resource Note
|
||||
======================== ========== ======= ======== =======================================================
|
||||
instance Gauge 1 inst ID Duration of instance
|
||||
instance:<type> Gauge 1 inst ID Duration of instance <type> (openstack types)
|
||||
memory Gauge MB inst ID Volume of RAM in MB
|
||||
cpu Cumulative seconds inst ID CPU time used
|
||||
vcpus Gauge vcpu inst ID Number of VCPUs
|
||||
root_disk_size Gauge GB inst ID Size of root disk in GB
|
||||
ephemeral_disk_size Gauge GB inst ID Size of ephemeral disk in GB
|
||||
instance:type Gauge 1 inst ID Duration of instance type
|
||||
disk.root.size Gauge GB inst ID Size of root disk in GB
|
||||
disk.ephemeral.size Gauge GB inst ID Size of ephemeral disk in GB
|
||||
disk.io.requests Cumulative request inst ID Number of disk io requests
|
||||
disk.io.bytes Cumulative bytes inst ID Volume of disk io in bytes
|
||||
cpu Cumulative seconds inst ID CPU time used
|
||||
network.incoming.bytes Cumulative bytes iface ID number of incoming bytes on the network
|
||||
network.outgoing.bytes Cumulative bytes iface ID number of outgoing bytes on the network
|
||||
network.incoming.packets Cumulative packets iface ID number of incoming packets
|
||||
@ -72,7 +73,7 @@ subnet.update Delta request subnt ID Update requests for thi
|
||||
port Gauge 1 port ID Duration of port
|
||||
port.create Delta request port ID Creation requests for this port
|
||||
port.update Delta request port ID Update requests for this port
|
||||
floating_ip Gauge 1 ip ID Duration of floating ip
|
||||
ip.floating Gauge 1 ip ID Duration of floating ip
|
||||
======================== ========== ======= ======== =======================================================
|
||||
|
||||
Image (Glance)
|
||||
@ -97,7 +98,17 @@ Volume (Cinder)
|
||||
Name Type Volume Resource Note
|
||||
======================== ========== ======= ======== =======================================================
|
||||
volume Gauge 1 vol ID Duration of volune
|
||||
volume_size Gauge GB vol ID Size of volume
|
||||
volume.size Gauge GB vol ID Size of volume
|
||||
======================== ========== ======= ======== =======================================================
|
||||
|
||||
Naming convention
|
||||
=================
|
||||
If you plan on adding meters, please follow the convention bellow:
|
||||
|
||||
1. Always use '.' as separator and go from least to most discriminent word.
|
||||
For example, do not use ephemeral_disk_size but disk.ephemeral.size
|
||||
|
||||
2. When a part of the name is a variable, it should always be at the end and starts with a ':'.
|
||||
For example do not use <type>.image but image:<type> where type is your variable name.
|
||||
|
||||
3. If you have any hesitation, come and ask in #openstack-metering
|
||||
|
4
setup.py
4
setup.py
@ -51,8 +51,8 @@ setuptools.setup(
|
||||
instance_flavor = ceilometer.compute.notifications:InstanceFlavor
|
||||
memory = ceilometer.compute.notifications:Memory
|
||||
vcpus = ceilometer.compute.notifications:VCpus
|
||||
root_disk_size = ceilometer.compute.notifications:RootDiskSize
|
||||
ephemeral_disk_size = ceilometer.compute.notifications:EphemeralDiskSize
|
||||
disk_root_size = ceilometer.compute.notifications:RootDiskSize
|
||||
disk_ephemeral_size = ceilometer.compute.notifications:EphemeralDiskSize
|
||||
volume = ceilometer.volume.notifications:Volume
|
||||
volume_size = ceilometer.volume.notifications:VolumeSize
|
||||
image_crud = ceilometer.image.notifications:ImageCRUD
|
||||
|
@ -38,7 +38,7 @@ class TestMaxProjectVolume(tests_api.TestBase):
|
||||
for i in range(3):
|
||||
c = counter.Counter(
|
||||
'source1',
|
||||
'volume_size',
|
||||
'volume.size',
|
||||
'gauge',
|
||||
5 + i,
|
||||
'user-id',
|
||||
@ -54,36 +54,36 @@ class TestMaxProjectVolume(tests_api.TestBase):
|
||||
self.conn.record_metering_data(msg)
|
||||
|
||||
def test_no_time_bounds(self):
|
||||
data = self.get('/projects/project1/meters/volume_size/volume/max')
|
||||
data = self.get('/projects/project1/meters/volume.size/volume/max')
|
||||
expected = {'volume': 7}
|
||||
assert data == expected
|
||||
|
||||
def test_start_timestamp(self):
|
||||
data = self.get('/projects/project1/meters/volume_size/volume/max',
|
||||
data = self.get('/projects/project1/meters/volume.size/volume/max',
|
||||
start_timestamp='2012-09-25T11:30:00')
|
||||
expected = {'volume': 7}
|
||||
assert data == expected
|
||||
|
||||
def test_start_timestamp_after(self):
|
||||
data = self.get('/projects/project1/meters/volume_size/volume/max',
|
||||
data = self.get('/projects/project1/meters/volume.size/volume/max',
|
||||
start_timestamp='2012-09-25T12:34:00')
|
||||
expected = {'volume': None}
|
||||
assert data == expected
|
||||
|
||||
def test_end_timestamp(self):
|
||||
data = self.get('/projects/project1/meters/volume_size/volume/max',
|
||||
data = self.get('/projects/project1/meters/volume.size/volume/max',
|
||||
end_timestamp='2012-09-25T11:30:00')
|
||||
expected = {'volume': 5}
|
||||
assert data == expected
|
||||
|
||||
def test_end_timestamp_before(self):
|
||||
data = self.get('/projects/project1/meters/volume_size/volume/max',
|
||||
data = self.get('/projects/project1/meters/volume.size/volume/max',
|
||||
end_timestamp='2012-09-25T09:54:00')
|
||||
expected = {'volume': None}
|
||||
assert data == expected
|
||||
|
||||
def test_start_end_timestamp(self):
|
||||
data = self.get('/projects/project1/meters/volume_size/volume/max',
|
||||
data = self.get('/projects/project1/meters/volume.size/volume/max',
|
||||
start_timestamp='2012-09-25T11:30:00',
|
||||
end_timestamp='2012-09-25T11:32:00')
|
||||
expected = {'volume': 6}
|
||||
|
@ -38,7 +38,7 @@ class TestMaxResourceVolume(tests_api.TestBase):
|
||||
for i in range(3):
|
||||
c = counter.Counter(
|
||||
'source1',
|
||||
'volume_size',
|
||||
'volume.size',
|
||||
'gauge',
|
||||
5 + i,
|
||||
'user-id',
|
||||
@ -54,36 +54,36 @@ class TestMaxResourceVolume(tests_api.TestBase):
|
||||
self.conn.record_metering_data(msg)
|
||||
|
||||
def test_no_time_bounds(self):
|
||||
data = self.get('/resources/resource-id/meters/volume_size/volume/max')
|
||||
data = self.get('/resources/resource-id/meters/volume.size/volume/max')
|
||||
expected = {'volume': 7}
|
||||
assert data == expected
|
||||
|
||||
def test_start_timestamp(self):
|
||||
data = self.get('/resources/resource-id/meters/volume_size/volume/max',
|
||||
data = self.get('/resources/resource-id/meters/volume.size/volume/max',
|
||||
start_timestamp='2012-09-25T11:30:00')
|
||||
expected = {'volume': 7}
|
||||
assert data == expected
|
||||
|
||||
def test_start_timestamp_after(self):
|
||||
data = self.get('/resources/resource-id/meters/volume_size/volume/max',
|
||||
data = self.get('/resources/resource-id/meters/volume.size/volume/max',
|
||||
start_timestamp='2012-09-25T12:34:00')
|
||||
expected = {'volume': None}
|
||||
assert data == expected
|
||||
|
||||
def test_end_timestamp(self):
|
||||
data = self.get('/resources/resource-id/meters/volume_size/volume/max',
|
||||
data = self.get('/resources/resource-id/meters/volume.size/volume/max',
|
||||
end_timestamp='2012-09-25T11:30:00')
|
||||
expected = {'volume': 5}
|
||||
assert data == expected
|
||||
|
||||
def test_end_timestamp_before(self):
|
||||
data = self.get('/resources/resource-id/meters/volume_size/volume/max',
|
||||
data = self.get('/resources/resource-id/meters/volume.size/volume/max',
|
||||
end_timestamp='2012-09-25T09:54:00')
|
||||
expected = {'volume': None}
|
||||
assert data == expected
|
||||
|
||||
def test_start_end_timestamp(self):
|
||||
data = self.get('/resources/resource-id/meters/volume_size/volume/max',
|
||||
data = self.get('/resources/resource-id/meters/volume.size/volume/max',
|
||||
start_timestamp='2012-09-25T11:30:00',
|
||||
end_timestamp='2012-09-25T11:32:00')
|
||||
expected = {'volume': 6}
|
||||
|
@ -38,7 +38,7 @@ class TestSumProjectVolume(tests_api.TestBase):
|
||||
for i in range(3):
|
||||
c = counter.Counter(
|
||||
'source1',
|
||||
'volume_size',
|
||||
'volume.size',
|
||||
'gauge',
|
||||
5 + i,
|
||||
'user-id',
|
||||
@ -54,36 +54,36 @@ class TestSumProjectVolume(tests_api.TestBase):
|
||||
self.conn.record_metering_data(msg)
|
||||
|
||||
def test_no_time_bounds(self):
|
||||
data = self.get('/projects/project1/meters/volume_size/volume/sum')
|
||||
data = self.get('/projects/project1/meters/volume.size/volume/sum')
|
||||
expected = {'volume': 5 + 6 + 7}
|
||||
assert data == expected
|
||||
|
||||
def test_start_timestamp(self):
|
||||
data = self.get('/projects/project1/meters/volume_size/volume/sum',
|
||||
data = self.get('/projects/project1/meters/volume.size/volume/sum',
|
||||
start_timestamp='2012-09-25T11:30:00')
|
||||
expected = {'volume': 6 + 7}
|
||||
assert data == expected
|
||||
|
||||
def test_start_timestamp_after(self):
|
||||
data = self.get('/projects/project1/meters/volume_size/volume/sum',
|
||||
data = self.get('/projects/project1/meters/volume.size/volume/sum',
|
||||
start_timestamp='2012-09-25T12:34:00')
|
||||
expected = {'volume': None}
|
||||
assert data == expected
|
||||
|
||||
def test_end_timestamp(self):
|
||||
data = self.get('/projects/project1/meters/volume_size/volume/sum',
|
||||
data = self.get('/projects/project1/meters/volume.size/volume/sum',
|
||||
end_timestamp='2012-09-25T11:30:00')
|
||||
expected = {'volume': 5}
|
||||
assert data == expected
|
||||
|
||||
def test_end_timestamp_before(self):
|
||||
data = self.get('/projects/project1/meters/volume_size/volume/sum',
|
||||
data = self.get('/projects/project1/meters/volume.size/volume/sum',
|
||||
end_timestamp='2012-09-25T09:54:00')
|
||||
expected = {'volume': None}
|
||||
assert data == expected
|
||||
|
||||
def test_start_end_timestamp(self):
|
||||
data = self.get('/projects/project1/meters/volume_size/volume/sum',
|
||||
data = self.get('/projects/project1/meters/volume.size/volume/sum',
|
||||
start_timestamp='2012-09-25T11:30:00',
|
||||
end_timestamp='2012-09-25T11:32:00')
|
||||
expected = {'volume': 6}
|
||||
|
@ -38,7 +38,7 @@ class TestSumResourceVolume(tests_api.TestBase):
|
||||
for i in range(3):
|
||||
c = counter.Counter(
|
||||
'source1',
|
||||
'volume_size',
|
||||
'volume.size',
|
||||
'gauge',
|
||||
5 + i,
|
||||
'user-id',
|
||||
@ -54,36 +54,36 @@ class TestSumResourceVolume(tests_api.TestBase):
|
||||
self.conn.record_metering_data(msg)
|
||||
|
||||
def test_no_time_bounds(self):
|
||||
data = self.get('/resources/resource-id/meters/volume_size/volume/sum')
|
||||
data = self.get('/resources/resource-id/meters/volume.size/volume/sum')
|
||||
expected = {'volume': 5 + 6 + 7}
|
||||
assert data == expected
|
||||
|
||||
def test_start_timestamp(self):
|
||||
data = self.get('/resources/resource-id/meters/volume_size/volume/sum',
|
||||
data = self.get('/resources/resource-id/meters/volume.size/volume/sum',
|
||||
start_timestamp='2012-09-25T11:30:00')
|
||||
expected = {'volume': 6 + 7}
|
||||
assert data == expected
|
||||
|
||||
def test_start_timestamp_after(self):
|
||||
data = self.get('/resources/resource-id/meters/volume_size/volume/sum',
|
||||
data = self.get('/resources/resource-id/meters/volume.size/volume/sum',
|
||||
start_timestamp='2012-09-25T12:34:00')
|
||||
expected = {'volume': None}
|
||||
assert data == expected
|
||||
|
||||
def test_end_timestamp(self):
|
||||
data = self.get('/resources/resource-id/meters/volume_size/volume/sum',
|
||||
data = self.get('/resources/resource-id/meters/volume.size/volume/sum',
|
||||
end_timestamp='2012-09-25T11:30:00')
|
||||
expected = {'volume': 5}
|
||||
assert data == expected
|
||||
|
||||
def test_end_timestamp_before(self):
|
||||
data = self.get('/resources/resource-id/meters/volume_size/volume/sum',
|
||||
data = self.get('/resources/resource-id/meters/volume.size/volume/sum',
|
||||
end_timestamp='2012-09-25T09:54:00')
|
||||
expected = {'volume': None}
|
||||
assert data == expected
|
||||
|
||||
def test_start_end_timestamp(self):
|
||||
data = self.get('/resources/resource-id/meters/volume_size/volume/sum',
|
||||
data = self.get('/resources/resource-id/meters/volume.size/volume/sum',
|
||||
start_timestamp='2012-09-25T11:30:00',
|
||||
end_timestamp='2012-09-25T11:32:00')
|
||||
expected = {'volume': 6}
|
||||
|
Loading…
Reference in New Issue
Block a user