Merge pull request #38 from elemoine/sync-code
Add cinder|neutron|nova_services_percent metrics
diff --git a/collectd/files/plugin/openstack_cinder.py b/collectd/files/plugin/openstack_cinder.py
index 3885c45..9ad209d 100644
--- a/collectd/files/plugin/openstack_cinder.py
+++ b/collectd/files/plugin/openstack_cinder.py
@@ -55,7 +55,14 @@
'state': state})
for service in aggregated_workers:
+ totalw = sum(aggregated_workers[service].values())
+
for state in self.states:
+ prct = (100.0 * aggregated_workers[service][state]) / totalw
+ self.dispatch_value('cinder_services_percent', '',
+ prct,
+ {'state': state, 'service': service})
+
self.dispatch_value('cinder_services', '',
aggregated_workers[service][state],
{'state': state, 'service': service})
diff --git a/collectd/files/plugin/openstack_neutron.py b/collectd/files/plugin/openstack_neutron.py
index 6a2cf22..fdc2005 100644
--- a/collectd/files/plugin/openstack_neutron.py
+++ b/collectd/files/plugin/openstack_neutron.py
@@ -85,7 +85,14 @@
'state': state})
for service in aggregated_agents:
+ totala = sum(aggregated_agents[service].values())
+
for state in self.states:
+ prct = (100.0 * aggregated_agents[service][state]) / totala
+ self.dispatch_value('neutron_agents_percent',
+ prct,
+ {'service': service, 'state': state})
+
self.dispatch_value('neutron_agents',
aggregated_agents[service][state],
{'service': service, 'state': state})
diff --git a/collectd/files/plugin/openstack_nova.py b/collectd/files/plugin/openstack_nova.py
index 62c55da..7c7d47a 100644
--- a/collectd/files/plugin/openstack_nova.py
+++ b/collectd/files/plugin/openstack_nova.py
@@ -53,7 +53,14 @@
'state': state})
for service in aggregated_workers:
+ totalw = sum(aggregated_workers[service].values())
+
for state in self.states:
+ prct = (100.0 * aggregated_workers[service][state]) / totalw
+ self.dispatch_value('nova_services_percent', '',
+ prct,
+ {'state': state, 'service': service})
+
self.dispatch_value('nova_services', '',
aggregated_workers[service][state],
{'state': state, 'service': service})