Use 'meta' in the openstack_glance plugin
This change modifies the openstack_glance collectd plugin to provide the 'status' and 'visibility' values in the 'meta' dict instead of 'type_instance'. Change-Id: Ia8a187a11be25e3089cc88c45dfc920ac0f41935
This commit is contained in:
parent
ab142b8d45
commit
1e15fd5267
@ -49,7 +49,9 @@ class GlanceStatsPlugin(openstack.CollectdPlugin):
|
||||
status = self.count_objects_group_by(images_details,
|
||||
group_by_func=groupby)
|
||||
for s, nb in status.iteritems():
|
||||
self.dispatch_value(s, nb)
|
||||
(name, visibility, status) = s.split('.')
|
||||
self.dispatch_value(name, nb, meta={'visibility': visibility,
|
||||
'status': status})
|
||||
|
||||
# sizes
|
||||
def count_size_bytes(d):
|
||||
@ -66,16 +68,18 @@ class GlanceStatsPlugin(openstack.CollectdPlugin):
|
||||
group_by_func=groupby_size,
|
||||
count_func=count_size_bytes)
|
||||
for s, nb in sizes.iteritems():
|
||||
self.dispatch_value(s, nb)
|
||||
(name, visibility, status) = s.split('.')
|
||||
self.dispatch_value(name, nb, meta={'visibility': visibility,
|
||||
'status': status})
|
||||
|
||||
def dispatch_value(self, name, value):
|
||||
def dispatch_value(self, name, value, meta=None):
|
||||
v = collectd.Values(
|
||||
plugin=PLUGIN_NAME, # metric source
|
||||
type='gauge',
|
||||
type_instance=name,
|
||||
interval=INTERVAL,
|
||||
# w/a for https://github.com/collectd/collectd/issues/716
|
||||
meta={'0': True},
|
||||
meta=meta or {'0': True},
|
||||
values=[value]
|
||||
)
|
||||
v.dispatch()
|
||||
|
@ -223,12 +223,10 @@ function process_message ()
|
||||
msg['Fields']['tag_fields'] = { 'state' }
|
||||
msg['Fields']['state'] = sample['type_instance']
|
||||
elseif metric_source == 'glance' then
|
||||
-- TODO(pasquier-s): check if the collectd plugin can send state as type_instance
|
||||
local resource, visibility, state = string.match(sample['type_instance'], '^([^.]+)%.([^.]+)%.(.+)$')
|
||||
msg['Fields']['name'] = 'openstack' .. sep .. 'glance' .. sep .. replace_dot_by_sep(resource)
|
||||
msg['Fields']['name'] = 'openstack' .. sep .. 'glance' .. sep .. sample['type_instance']
|
||||
msg['Fields']['tag_fields'] = { 'state', 'visibility' }
|
||||
msg['Fields']['state'] = state
|
||||
msg['Fields']['visibility'] = visibility
|
||||
msg['Fields']['state'] = sample['meta']['status']
|
||||
msg['Fields']['visibility'] = sample['meta']['visibility']
|
||||
elseif metric_source == 'keystone' then
|
||||
-- TODO(pasquier-s): check if the collectd plugin can send state as type_instance
|
||||
if sample['type_instance'] == 'roles' then
|
||||
|
Loading…
Reference in New Issue
Block a user