问题标签 [micrometer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 @Timed 注释对方法计时 - 与输入大小相关
使用@Timed
注解,我们可以计算方法运行所需的时间:
但是,假设我们的方法有一些输入,它的大小可以显着改变运行方法所需的时间(如上面的示例)。
@Timed
如果没有关于输入大小的一些额外潜在信息,那么这个时间测量是没有意义的吗?
如果输出大小不同,它也将毫无意义:
当然,打印具有较大课程列表的学生将需要更长的时间。
所以:
- 我们可以从
@Timed
测量中获得哪些真正的见解? - 有没有办法为
@Timed
测量添加一些额外的信息?
spring-boot - 为什么千分尺不会停止向 datadog 发送数据并已经关闭?
我有一个 Spring Boot 应用程序,由于奇怪的限制,它需要每三个小时运行一次,并且不能与 Quartz 一起使用,所以我从 OS cron 每三个小时运行一次它,它在完成后退出。然而,在添加 micrometer-registry-datadog(和 spring-legacy)之后,它永远不会退出,它只是每 20 秒或默认周期发送一次指标,即使在调用 registry.close() 之后也是如此。
我是注定要像荷兰人一样永远在加工的海洋中航行,还是我犯了明显的错误?
代码:它到达 SpringApplication.exit(ctx),但实际上并没有干净地退出。(服务是 TimedExecutorService。)
spring-boot - 使用 Spring Boot 2.0 时将指标导出到文件
我正在寻找一种将 Spring Boot 指标导出到 Spring Boot 2 中的文件的方法。
在 Spring Boot 1.5.10 中,我们使用了一个自定义MetricsExporter类,它实现了 MetricWriter并覆盖了 set 和 increment 方法来使用记录器编写指标。我们使用日志文件是因为我们有不同的机制来处理日志文件以进行度量分析。
我们还使用了 MetricsConfig 类,它使用 bean MetricsEndpointMetricReader从自定义配置类中的指标端点读取器读取指标。
但是,当我们升级到 Spring Boot 2.0.1 时,这些都不起作用,因为现有指标类发生了重大变化。
有人可以帮助我们在使用 Spring Boot 2.0 时如何导出指标并使用记录器编写它们吗?
MetricsConfig类如下,
java - 千分尺(micrometerClock)中的错误处理条件
我正在尝试使用 Atlas 配置千分尺。我正在遵循 Micrometer 和 Spring 提供的指南(我使用的是 Spring Boot 2.0.1),但我不明白什么是失败的。
我有以下配置:
}
我将此添加到我的一个 REST 控制器中:
还有@Timed 注释,但我得到的只是以下错误:
任何人都知道如何解决这个问题?
谢谢!
spring-boot - 带有可变标签的 Spring Boot 千分尺
我正在迁移 Spring Boot 1.5.x 应用程序以使用 Micrometer(以准备将来迁移到 Boot 2.x)。我们使用 DropWizards 指标和许多量规,例如衡量每种类型和类别的工作数量。
这个作业数量在运行时是可变的,类别和类型也是可变的。MeterRegistry
当要从中获取仪表的对象数量随时间变化时,我找不到任何优雅的方法来注册仪表。
最好有一个注册方法,其中仪表值和相关标签都由函数返回。
谢谢你的指点,达米安
java - Netflix Atlas 在 Spring-Boot 2.0.1 应用程序开始时显示“未启用订阅”
当我启动使用 Spring Boot 2.0.1 制作的应用程序时,我总是会看到以下信息日志:
2018-05-08 16:36:09.409 INFO 18737 --- [localhost-startStop-1] c.netflix.spectator.atlas.AtlasRegistry : started collecting metrics every PT10S reporting to http://localhost:7101/api/v1/publish
2018-05-08 16:36:09.410 INFO 18737 --- [localhost-startStop-1] c.netflix.spectator.atlas.AtlasRegistry : common tags: {}
2018-05-08 16:36:09.410 INFO 18737 --- [localhost-startStop-1] c.netflix.spectator.atlas.AtlasRegistry : subscriptions are not enabled
是什么subscriptions are not enabled
意思?它有什么变化?谢谢!
metrics - 将自定义指标注册到 Micrometer 和 Spring Boot 2 时遇到问题
我在将自定义指标注册到 MeterRegistery 时遇到问题。
它看起来是 Spring 管理注册其所有指标(70 左右),然后当控制权返回给我时,我也在尝试注册我自己的:
不幸的是,在我的第一个指标被注册时,过程以微米为单位挂起:
可以从调试器跟踪的最后一行是同步块的开始位置。从调试器中,我看到主线程变成了 ZOMBIE,没有任何事情发生。锁没有被释放。
有人遇到过这种问题吗?我在这里做错了吗?
顺便说一句,这里的配置也是:
正如您所看到的,我还尝试在 Spring 之前注册一些“自定义”指标并且它成功了,但是它并没有改变以后这是不可能的情况。
同样在启用调试记录器之后,千分尺库什么也没说,实际上永远挂起之前的最后一个日志是来自 spring bean 生命周期方法的日志,例如自动装配这个注册新指标的特定构造函数。
版本是:spring-boot:2.0.2,千分尺1.0.4
提前感谢您的任何想法。
java - 如何使用 SLA 和标签注册 Micrometer Timer?
我正在尝试将我的普罗米修斯指标迁移到千分尺,但现在我在这里遇到一件事......
目前我有一个 Prometheus 直方图配置如下:
因此,为了切换到千分尺,我将其替换如下:
好的。让我们看看我想如何使用它......此刻我只是调用
所以我把它换成了
但现在的问题是,Micrometer 抱怨我之前配置的指标没有这些标签。当然我做到了,因为我不知道那个时候的价值观。这里的例外:
java.lang.IllegalArgumentException: Prometheus requires that all meters with the same name have the same set of tag keys. There is already an existing meter containing tag keys []. The meter you are attempting to register has keys [http.method, http.status, java.class, java.method].
好的。所以我想,那么让我们在Metrics.timer
调用中指定存储桶。但这不起作用,因为没有传递这些值的方法。
那么......我如何设置sla
存储桶和我的tags
指标?
spring-boot - Spring Boot 中的 MeterBinders
我试图理解为什么一些千分尺 MeterBinders 被连接起来,而另一些则没有。我可以看到 MeterRegistryPostProcessor 从上下文中获取所有该类型。但是为什么例如 JettyStatisticsMetrics 不在上下文中,而 JvmGcMetrics 在上下文中呢?
谢谢!
prometheus - 千分尺和普罗米修斯计时器作为速率
根据 Micrometer 的文档https://micrometer.io/docs/concepts#_server_side,框架(Micrometer)应处理将计时器指标从绝对量转换为速率
下面的代码模拟了一个虚拟计时器:
但是在 Prometheus 中,我只看到单调增加的指标foobar_seconds_sum
,foobar_seconds_count
而不是将它们视为速率
也许我误解或忽略了文档中的某些内容?