Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从Dropwizard metrics正确切换到测微计?_Java_Spring_Dropwizard_Codahale Metrics_Micrometer - Fatal编程技术网

Java 如何从Dropwizard metrics正确切换到测微计?

Java 如何从Dropwizard metrics正确切换到测微计?,java,spring,dropwizard,codahale-metrics,micrometer,Java,Spring,Dropwizard,Codahale Metrics,Micrometer,我有一段使用Codahale度量的旧代码。我想换成千分尺。我很擅长切换简单的对象,我很难重现一些特定于Codahale对象的功能 我很擅长切换简单的对象,我很难重现一些特定于Codahale对象的功能。在这方面,我没有发现任何令人满意的比较。我是基于文档和文章,但仍然没有运气。我不知道我想做的事是否可能 例如,在千分尺中,它会是什么样子 final CachedGauge<T> g = new CachedGauge<T>(refreshPeriod, TimeUnit.

我有一段使用Codahale度量的旧代码。我想换成千分尺。我很擅长切换简单的对象,我很难重现一些特定于Codahale对象的功能

我很擅长切换简单的对象,我很难重现一些特定于Codahale对象的功能。在这方面,我没有发现任何令人满意的比较。我是基于文档和文章,但仍然没有运气。我不知道我想做的事是否可能

例如,在千分尺中,它会是什么样子

final CachedGauge<T> g = new CachedGauge<T>(refreshPeriod, TimeUnit.SECONDS) {
    @Override
    protected T loadValue() {
        try {
        return provider.call();
        } catch (Exception ex) {
            throw new RuntimeException("Failed to get cached value for [" + name + "]", ex);
        }
    }
};
metricRegistry.register("gauge." + fullName, g);

例如,当我想比较两个长值时?

这里有3个问题。都有着截然不同的答案

缓存量规 对于以微米为单位的缓存量规,没有等效物。我建议打开一个问题请求它。这将是一个很好的补充。我主张这样做。(我自己也需要类似的东西)

弦规 测微计产生的所有指标都是数字。因此,对于要公开字符串的情况,请将其添加为标记

meterRegistry.gauge("app.version",Tags.of("version",myVersion), this, () -> 1.0)
比率规 比率计量器只是一个典型的计量器,自己进行划分。或者,您可以将比率源公开为它们自己的度量,并在度量平台端进行划分。例如,普罗米修斯很容易支持:

class_attendance/class_size

你证实了我对此的担忧。我需要找出实现这一点的方法,Gauge是否可行?通过
Gauge
是否是特定pojo上的Gauge返回引用pojo上属性的
double
?这是支持的。但是,如果您试图写出所有POJO字段,那么它将不起作用。
meterRegistry.gauge("app.version",Tags.of("version",myVersion), this, () -> 1.0)
class_attendance/class_size