gpt4 book ai didi

java - 如何在日志中显示 Dropwizard Activity 请求

转载 作者:行者123 更新时间:2023-12-02 01:52:46 41 4
gpt4 key购买 nike

这个问题与我问的问题相关here

我正在尝试记录每 10 分钟向我的 Dropwizard 应用程序发出的 Activity 请求数。其想法是跟踪应用程序的使用情况,以便获得适当的支持。在此过程中,我尝试将 dropwizard 指标公开给日志。出于测试目的,我编写了以下代码:

@GET
@Path("/metrics")
public MetricRegistry provideMetrics() {
MetricRegistry metrics = new MetricRegistry();
metrics.register("io.dropwizard.jetty.MutableServletContextHandler.active-dispatches", new Counter());

logger.info("Total Requests: {}",
metrics.counter("io.dropwizard.jetty.MutableServletContextHandler.active-requests"));
logger.info("Active Requests: {}",
metrics.counter("io.dropwizard.jetty.MutableServletContextHandler.active-dispatches"));
logger.info("Suspended Requests: {}",
metrics.counter("io.dropwizard.jetty.MutableServletContextHandler.active-suspended"));

return metrics;
}

理论上,当我运行以下 GET 请求时, Activity 请求和已调度请求的数量应等于 1:

@GET
@Path("all")
public List<String> getAll() {
List<String> list = dao.getAllExamples();
TimeUnit.SECONDS.sleep(10);
return list;
}

但是,我创建的 Metics 路径的输出仍然为 0。我检查了 8081 上 Dropwizard 管理端口的指标,它显示:

counters: {
io.dropwizard.jetty.MutableServletContextHandler.active-dispatches: {
count: 1
},
io.dropwizard.jetty.MutableServletContextHandler.active-requests: {
count: 1
},
io.dropwizard.jetty.MutableServletContextHandler.active-suspended: {
count: 0
},
}

最佳答案

看起来您正在创建一个完全独立的 MetricRegistry 并注册与 dropwizard 名称相同的新计数器。您需要的是访问 dropwizard 创建的默认 MetricRegistry。您可以通过 environment.metrics() 访问此内容

关于java - 如何在日志中显示 Dropwizard Activity 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52722173/

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