有没有什么简单的方法可以将千分尺计时器与网络流量控制器一起使用?
似乎@Timed只对非反应式方法有效。对于反应式,它记录非常低的时间值。
我发现了一个类似的问题:如何使用千分尺计时器记录异步方法的持续时间(返回单声道或通量),但对于这样一个常见的问题来说,答案太复杂了。
有什么想法吗?
如果您想测量Web flux方法/调用的时间,则可以直接使用flux/Mono中的轻松度量(此外,还可以将项目配置为导出度量,例如graphite)
一个例子看起来像
Flux<String> dataStream = Flux.just("AA", "BB", "CC", "DD");
dataStream.name("my-test-name").tag("key1", "value1").metrics().subscribe(p ->
{
System.out.println("Hello " + p);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
});
然后在我的例子中,石墨中的指标是e.g.underapplication-name.magdalena.reactor.flow.duration.exception.flow.my-test-name.status.completed.type.Flux.p50 p50-是一半请求的延迟(或98%请求集的p98延迟)。谢谢他们在这个例子中的人工延迟,你可以观察到它们的值接近4000(处理了1s x 4个元素)。
石墨在应用中的配置:
management:
metrics:
export:
graphite:
enabled: true
host: graphite-lhr10.something.com
port: 2003
protocol: plaintext
@定时注释对我也不起作用。
我想使用测微计来收集一个任务的持续时间度量,该任务从一个Java进程开始,在另一个Java过程结束(通过Kafka在它们之间进行通信)。 我想使用返回一个对象,然后将它与Kafka消息一起传递给第二个进程,然后使用来记录任务持续时间。但是不清楚对象是否可以序列化,以及一般来说这种方法是否有效。 有可能使上述方法奏效吗?怎么会?如果不是,实现既定目标的最简单方法是什么? 不确定这是否重要——我的运行
我对Spring很陌生,正在尝试将我的应用程序连接到麋鹿。该应用程序运行的是Spring boot 1.5.5,因此我使用的是微米遗产。我的pom看起来像这样: 每当我尝试启动我的应用程序时,我都会收到以下错误: 根本原因似乎是类io.micrometer.core.instrument.config.validate.Validated它似乎没有像它应该的那样出现在包中。对此有什么想法吗?
假设我有一个应用程序,其中REST API更新产品的价格。 我想使用微米计来公开新价格作为指标。我无法理解微米计留档应该如何完成。 唯一对我有效的DoubleFunction是在我的ProductService中创建一个新方法来返回它的价格。这似乎是我想公开作为指标的每一条数据的开销。 我这里缺少什么?为什么不足以更新Gauge?
我正试图将普罗米修斯的度量标准迁移到千分尺,但现在我只能做一件事。。。 目前,我有一个普罗米修斯直方图配置如下: 因此,为了切换到测微计,我将其替换为: 好啊让我们看看我想如何使用它。。。此刻我只是打电话 所以我把这个换成了 但现在的问题是,测微计抱怨我之前配置的度量没有这些标签。我当然知道,因为我不知道当时的值。以下是例外情况: 好啊所以我想,然后让我们用呼叫。但这不起作用,因为没有传递这些值的
我对千分尺的理解仍然相当小,所以我将首先介绍我真正想要实现的目标。 目的 鉴于我在数据库表中有记录,每条记录都包含一个“creation_date”。 给定客户端调用 API 来获取这些记录 我想记录记录记录的访问次数,按其创建日期分组(仅月和年) 示例结果 在过去的6小时内,访问了2021年1月创建的10条记录 在过去的12小时内,访问了2021年2月创建的15条记录 在上周一和上周二之间,访问
问题内容: 如何使进度条随着时间限制缓慢下降? 问题答案: 抱歉,我仍然找不到真正阅读您的代码的动机,只是根据问题将这个示例组合在一起。看看它是否给您一些想法。 请注意,这是一个SSCCE,总共仅使用40行代码。