Comparison

util/openmetrics.lua @ 12535:7ef7abb72cdd

util.openmetrics: Set __name field on metatables to improve error messages Don't think we cause any such errors right now, but you never know!
author Kim Alvefur <zash@zash.se>
date Mon, 30 May 2022 17:37:25 +0200
parent 12534:3caff1f93520
child 12589:39ae08180c81
comparison
equal deleted inserted replaced
12534:3caff1f93520 12535:7ef7abb72cdd
33 -- `with_labels` and `with_partial_label` methods. This allows to pre-set one 33 -- `with_labels` and `with_partial_label` methods. This allows to pre-set one
34 -- or more labels on a metric family. This is used in particular via 34 -- or more labels on a metric family. This is used in particular via
35 -- `with_partial_label` by the moduleapi in order to pre-set the `host` label 35 -- `with_partial_label` by the moduleapi in order to pre-set the `host` label
36 -- on metrics created in non-global modules. 36 -- on metrics created in non-global modules.
37 local metric_proxy_mt = {} 37 local metric_proxy_mt = {}
38 metric_proxy_mt.__name = "metric_proxy"
38 metric_proxy_mt.__index = metric_proxy_mt 39 metric_proxy_mt.__index = metric_proxy_mt
39 40
40 local function new_metric_proxy(metric_family, with_labels_proxy_fun) 41 local function new_metric_proxy(metric_family, with_labels_proxy_fun)
41 return setmetatable({ 42 return setmetatable({
42 _family = metric_family, 43 _family = metric_family,
126 end 127 end
127 128
128 -- BEGIN of generic MetricFamily implementation 129 -- BEGIN of generic MetricFamily implementation
129 130
130 local metric_family_mt = {} 131 local metric_family_mt = {}
132 metric_family_mt.__name = "metric_family"
131 metric_family_mt.__index = metric_family_mt 133 metric_family_mt.__index = metric_family_mt
132 134
133 local function histogram_metric_ctor(orig_ctor, buckets) 135 local function histogram_metric_ctor(orig_ctor, buckets)
134 return function(family_name, labels, extra) 136 return function(family_name, labels, extra)
135 return orig_ctor(buckets, family_name, labels, extra) 137 return orig_ctor(buckets, family_name, labels, extra)
276 -- conflicts 278 -- conflicts
277 return full_name 279 return full_name
278 end 280 end
279 281
280 local metric_registry_mt = {} 282 local metric_registry_mt = {}
283 metric_registry_mt.__name = "metric_registry"
281 metric_registry_mt.__index = metric_registry_mt 284 metric_registry_mt.__index = metric_registry_mt
282 285
283 local function new_metric_registry(backend) 286 local function new_metric_registry(backend)
284 local reg = { 287 local reg = {
285 families = {}, 288 families = {},