gpt4 book ai didi

java - Prometheus Java simpleclient 自定义收集器指标是否应该在每个集合上实例化?

转载 作者:行者123 更新时间:2023-12-01 19:18:20 37 4
gpt4 key购买 nike

simpleclient Java README示例 Collector 如下所示:

class YourCustomCollector extends Collector {
List<MetricFamilySamples> collect() {
List<MetricFamilySamples> mfs = new ArrayList<MetricFamilySamples>();
// With no labels.
mfs.add(new GaugeMetricFamily("my_gauge", "help", 42));
// With labels
GaugeMetricFamily labeledGauge = new GaugeMetricFamily("my_other_gauge", "help", Arrays.asList("labelname"));
labeledGauge.addMetric(Arrays.asList("foo"), 4);
labeledGauge.addMetric(Arrays.asList("bar"), 5);
mfs.add(labeledGauge);
return mfs;
}
}

// Registration
static final YourCustomCollector requests = new YourCustomCollector().register()

必须在每次调用 collect 时实例化指标,还是实例化一次然后在 collect 中调用 addMetric 是否合理? ?如果不是,这种方法会出现什么问题?

最佳答案

是的,MetricFamilies 应该(几乎)总是在每次收集时重新实例化。

would it be reasonable to instantiate them once and then just call addMetric in collect?

这不是线程安全的,您还需要执行一些操作来跨集合清除它。

关于java - Prometheus Java simpleclient 自定义收集器指标是否应该在每个集合上实例化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59392499/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com