当前位置: 首页 > 知识库问答 >
问题:

千分尺 - 在指标名称中添加默认前缀

秋兴思
2023-03-14

在千分尺中,我们可以创建一个新的量规,类似于

myMeterRegistry.gauge("my_metric", 69);

见此处代码https://github . com/micrometer-metrics/micrometer/blob/master/micrometer-core/src/main/Java/io/micrometer/core/instrument/meter registry . Java # L468

是否可以默认为我的myMeter注册表对象包含“前缀”名称?

手动,它应该像:

myeterRegistry.gauge("myprefix_my_metric", 69);

我的目标是,在我的应用程序中创建度量标准的每个开发人员都不必在标准名称的开头添加“myprefix_”

共有1个答案

巫马星雨
2023-03-14

一个MeterFilter可以让你做到这一点(但是不要!):

new MeterFilter() {
    @Override
    public Meter.Id map(Meter.Id id) {
      return id.withName("myprefix." + id.getName());
    }
}

然而,常见的前缀通常是闻到维度不正确的气味。通常,用户会尝试添加区域、主机或应用程序的名称作为前缀。从那时起,这些可以更好地作为标签提供,您可以跨系统聚合并使用通用仪表板。

建议使用通用标记方法:

registry.config().commonTags("team", "myteam", "region", "us-east-1");

对于分层电表注册表,标签将作为前缀包含在名称中。

 类似资料:
  • 我正在将JavaSpring项目从java 8迁移到java 11。所以我需要将dropwizard指标替换为千分尺。Dropwizard指标记录到达特定endpoint时的状态和响应。例如:endpoint- 有没有办法在千分尺中实现相同的效果?我知道有注释,但由于某种原因它不起作用。(我把它放在endpoint方法上)。 我的属性文件(仅与指标相关的值):

  • 我目前正在从事一个Spring webflux项目,该项目具有执行器、测微计依赖项,如下所示, 公开默认指标(包括Spring webClient指标)。我使用Spring WebClient调用了4个不同的endpoint。我想知道是否有一种方法可以将特定的标签添加到每个被添加到默认指标的webclient调用中。我有一些指标,比如Webclient在/actuator/prometheusen

  • 所以我试着在Spring靴2上使用测微计。X向普罗米修斯记录指标。我在gradle中添加了依赖项: 然后我尝试添加任何指标,例如: 当我去localhost:端口/执行器/普罗米修斯我可以看到一些指标,如: 但我加上的计时器、仪表或计数器什么都没有。我通过代码对自己进行了调试,我可以看到代码已经执行,当我查看compositeRegistry对象时,我可以看到一些可用的东西,即使我没有看到值中任何

  • 我有一个应用程序,其中包含2打Spring批处理cronjobs.There没有Rest控制器,因为它是一个分析应用程序,它每天运行,从数据库读取数据,处理它,然后将聚合数据存储在另一个数据库中。我想使用千分尺对作业进行Spring内置度量,并将它们推送到Prometheus。由于我的应用程序不是网络服务器应用程序,所以千分尺仍然会在HOST: 8080上发布结果?执行器会自动在HOST: 808

  • 我有一个带有Jersey RESTendpoint的web应用程序(war)。我正在与prometheus/micrometer集成以生成度量。我在这里公开了“/metrics”endpoint 我被困在如何生成http请求度量上。我找不到任何与获取这些指标相关的代码。有人能帮我吗?

  • 我使用的是WSO2 ESB 4.8.1,我希望使用XSLT修改soap消息。 我的soap消息: XSLT: 我在WSO2 ESB中创建了一个xslt文件作为本地条目。但是它添加了一个默认名称空间xmlns=“http://ws.apache.org/ns/synapse”,并将xslt改为: 因此,我的soap messsage结果是: 如何在WSO2 ESB中使用XSLT修改此元素名称而不添加