问题标签 [codahale-metrics]

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.

0 投票
1 回答
1538 浏览

java - 从 dropwizard REST 应用程序中的 YAML 文件读取指标配置

我的 Metrics 配置在我的 dropwizard rest 应用程序中是这样的,(hello-world.yml)

这是一个 SLF4J Reporter,我把它放在了我的 YAML 配置文件中。现在当我想获取这个值并在我的应用程序文件中使用它时。我看到的唯一选择是将其阅读为Map<String, List<Map<String, String>> metrics;阅读此配置并在 dropwizard Application 类中使用它的正确方法是什么。请帮帮我。

此问题与用于石墨服务器配置的 Dropwizard Yaml相同。但是再次没有回答这个问题,因此通过创建一个新问题来试试我的运气。

0 投票
1 回答
644 浏览

okhttp - 检测 OkHttpClient

我正在编写一个小型包装库,它允许我使用 Dropwizard Metrics 监控 OkHttpClient 的内部结构:https ://github.com/raskasa/metrics-okhttp 。

我在正确检测时遇到了一些麻烦ConnectionPool- 具体来说,定期调用getConnectionCount()以监视打开的 TCP 连接的数量。

当一个实例OkHttpClient最初被创建时,getConnectionPool()它是空的——这是我所期待的。但是,即使在执行某些网络请求期间/之后,后续访问池的尝试仍会返回 null。

我假设有适当的方法来监控它,ConnectionPool因为它是公共 API 的一部分,但我目前还没有清楚地看到它。

所以:

  • 有没有办法在没有ConnectionPool的地方访问?OkHttpClient.getConnectionPool()null
  • 如果这不是最好的方法,有什么建议可以更好地解决这个问题吗?
0 投票
0 回答
794 浏览

graphite - 如何将弹簧启动执行器端点信息发送到石墨?

我要制作应用程序监控系统。我正在使用 spring-boot 执行器,我可以制作一些信息,例如指标、健康状况等。请参阅附件。

如您所见,有很多东西,例如内存、堆到计数器和仪表。(sample.actuator.SampleController.hello.* 由 com.codahale.metrics.annotation.Timed 制作)

我想将这些信息发送给石墨进行监控。谷歌说那些代码。

但记者只发了计数器和量规。要向记者插入其他信息,我应该怎么做?

请帮忙....

0 投票
1 回答
2065 浏览

java - 使用 DropWizard metrics-Jvm 获取 JMX 值

我尝试使用 dropWizard 库获取 JVM 指标值(MemoryUsageGaugeSet、GarbageCollectionUsageGaugeSet)

代码实现。

我得到的结果是

{heap.committed=com.codahale.metrics.jvm.MemoryUsageGaugeSet$8@d16011, non-heap.used=com.codahale.metrics.jvm.MemoryUsageGaugeSet$11@cc09904, pools.Code-Cache.used=com.codahale.metrics .jvm.MemoryUsageGaugeSet$17@748032cc, pools.Code-Cache.committed=com.codahale.metrics.jvm.MemoryUsageGaugeSet$18@2b6e0423, heap.used=com.codahale.metrics.jvm.MemoryUsageGaugeSet$6@203428b7, pools.PS- Old-Gen.init=com.codahale.metrics.jvm.MemoryUsageGaugeSet$19@28b49d0c,total.committed=com.codahale.metrics.jvm.MemoryUsageGaugeSet$4@5dd7cc84,pools.PS-Old-Gen.max=com.codahale。 metrics.jvm.MemoryUsageGaugeSet$16@6438401,total.init=com.codahale.metrics.jvm.MemoryUsageGaugeSet$1@7b365ee,非 heap.max=com.codahale.metrics.jvm.MemoryUsageGaugeSet$12@be3d4e9,pools.PS-Eden -Space.init=com.codahale.metrics.jvm.MemoryUsageGaugeSet$19@68339afd,pools.Compressed-Class-Space。used=com.codahale.metrics.jvm.MemoryUsageGaugeSet$17@724a6876, pools.Metaspace.usage=com.codahale.metrics.jvm.MemoryUsageGaugeSet$15@6ecaffc4, pools.Metaspace.max=com.codahale.metrics.jvm.MemoryUsageGaugeSet$16 @7b1b3a68,pools.PS-Eden-Space.committed=com.codahale.metrics.jvm.MemoryUsageGaugeSet$18@f8ba384,pools.PS-Eden-Space.max=com.codahale.metrics.jvm.MemoryUsageGaugeSet$16@2e2373db,池.Compressed-Class-Space.usage=com.codahale.metrics.jvm.MemoryUsageGaugeSet$15@17ae8d04, heap.usage=com.codahale.metrics.jvm.MemoryUsageGaugeSet$9@35c43de3, pools.PS-Eden-Space.usage=com .codahale.metrics.jvm.MemoryUsageGaugeSet$15@67013f5c, pools.PS-Survivor-Space.max=com.codahale.metrics.jvm.MemoryUsageGaugeSet$16@520935cc, pools.Code-Cache.max=com.codahale.metrics.jvm .MemoryUsageGaugeSet$16@31ac5424,pools.Compressed-Class-Space.init=com.codahale.metrics.jvm。MemoryUsageGaugeSet$19@25135cd7, pools.Metaspace.init=com.codahale.metrics.jvm.MemoryUsageGaugeSet$19@4b066cf6, pools.PS-Survivor-Space.usage=com.codahale.metrics.jvm.MemoryUsageGaugeSet$15@50ba970f, pools.PS -Old-Gen.usage=com.codahale.metrics.jvm.MemoryUsageGaugeSet$15@3e4e448, pools.Code-Cache.usage=com.codahale.metrics.jvm.MemoryUsageGaugeSet$15@3c2ef507, pools.PS-Survivor-Space.init =com.codahale.metrics.jvm.MemoryUsageGaugeSet$19@44374fa8,total.used=com.codahale.metrics.jvm.MemoryUsageGaugeSet$2@40b1aace,pools.Code-Cache.init=com.codahale.metrics.jvm.MemoryUsageGaugeSet$19@ 6453d034,pools.PS-Old-Gen.committed=com.codahale.metrics.jvm.MemoryUsageGaugeSet$18@2f9e8774,heap.init=com.codahale.metrics.jvm.MemoryUsageGaugeSet$5@512ad720,非 heap.committed=com。 codahale.metrics.jvm.MemoryUsageGaugeSet$13@1c80e011,pools.Compressed-Class-Space。已提交=com.codahale.metrics.jvm.MemoryUsageGaugeSet$18@662841c5,非堆.init=com.codahale.metrics.jvm.MemoryUsageGaugeSet$10@3dd6cf53,pools.PS-Eden-Space.used=com.codahale.metrics。 jvm.MemoryUsageGaugeSet$17@3a428c1e, non-heap.usage=com.codahale.metrics.jvm.MemoryUsageGaugeSet$14@21d9632f, heap.max=com.codahale.metrics.jvm.MemoryUsageGaugeSet$7@5db28b8, pools.PS-Survivor-Space .used=com.codahale.metrics.jvm.MemoryUsageGaugeSet$17@efcd307, pools.Metaspace.committed=com.codahale.metrics.jvm.MemoryUsageGaugeSet$18@20f09cba, total.max=com.codahale.metrics.jvm.MemoryUsageGaugeSet$3@ 4ada5390,pools.Metaspace.used=com.codahale.metrics.jvm.MemoryUsageGaugeSet$17@16982c9b,pools.Compressed-Class-Space.max=com.codahale.metrics.jvm.MemoryUsageGaugeSet$16@7e94b1a4,pools.PS-Survivor- Space.committed=com.codahale.metrics.jvm.MemoryUsageGaugeSet$18@5aa5f780,pools.PS-Old-Gen.used=com.codahale.metrics.jvm.MemoryUsageGaugeSet$17@427b7997}

我得到了对象的引用,而不是我想得到这些引用的值。为此该怎么办?

0 投票
1 回答
512 浏览

apache-camel - 如何使用骆驼指标获取整个 json 报告

我在下面的 camel-context.xml 文件中进行了配置。我能够看到在 hawtio 中很好地呈现的报告。

但是,我想将实际的骆驼指标生成的 json 报告记录到我的应用程序日志文件中。

谁能帮助我如何实现这一目标?

谢谢拉梅什

0 投票
1 回答
1672 浏览

metrics - Graphite:从客户端收到的无效行(codahale 指标)

我在尝试使用石墨指标时收到了碳错误:

因此,我尝试像这样在 /opt/graphite/lib/carbon/protocols.py 中添加一些日志。

我在日志中看到这个错误:

如果我们寻找正常的请求,它看起来像:

这里有什么问题?是碳问题吗?还是指标问题?我该如何解决?

指标版本是 3.1.2

碳版本 0.9.x

0 投票
3 回答
1243 浏览

java - 以编程方式配置 DropWizard

我的问题与这里基本相同,但希望得到一个不那么模糊、信息量更大的答案。

我正在寻找一种以编程方式配置 DropWizard 的方法,或者至少能够在运行时调整配置。具体来说,我有一个用例,我想在 YAML 文件中配置要以 2 分钟的频率发布的指标。这将是“正常”的默认值。但是,在某些情况下,我可能希望将其加速到每 10 秒一次,然后将其调回正常/默认值。

我该如何做到这一点,而不仅仅是metrics.frequency属性,而是 YAML 配置文件中可能存在的任何配置?

0 投票
2 回答
1696 浏览

java - 坚持 Coda Hale 指标信息

我是 Coda Hale Metrics 的新手。我创建了一个示例 spring 应用程序,它具有一个简单的 RESTful Web 服务方法。

我使用了 Coda Hale Metrics 框架提供的 Meter、Timer 和 Counter 工具来跟踪请求数量、请求比率和请求持续时间。目前我使用 Metrics 的控制台报告器将这些信息输出到控制台(请在下面找到代码)。

我对 Coda Hale Metrics 有几个问题。

(1) 目前计数器显示总数。自服务器启动后发出的请求。有什么办法可以得到否。在特定报告期间发出的请求数(例如:- 第 1 个 30 秒的计数 = count1,第 2 个 30 秒的计数 = count2 等...)

(2) 是否可以使用Timer获取每个请求的持续时间?目前 Timer 显示所有请求的最小、最大和平均速率。

(3) 是否有可能将这些 Metrics 数据持久保存到外部数据库中(例如:- MySQL)?

下面是我的 REST 服务方法。

感谢您对此的指导。

谢谢。

0 投票
1 回答
2901 浏览

java - 在 Dropwizard Bundle 中注册 MetricRegistry

我正在创建一个 Dropwizard Bundle,以便在我的所有微服务中重用。我想标准化的一件事是MetricRegistry每个服务的使用。

如果我可以MetricRegistry通过简单地在 init 上添加我的包来配置每个服务以使用相同的服务,那就太好了,比如:

问题是BundleAPI 似乎不利于这种类型的行为:

由于该register(...)方法未注册metricRegistry为 JAX-RS 资源,因此我不知道如何将其连接起来,以便将其metricRegistry用于整个微服务中的所有指标。想法?


更新

我正在寻找的是在哪里放置以下内容:

0 投票
0 回答
1001 浏览

java - 在 Metric Registry 上注册 @Timed 和 @Metric 注解

我按照项目的指示使用 Metric 注释@timer@metrics , https://github.com/astefanutti/metrics-aspectj。该指标将在任何指标注册表中注册在哪里?我想知道这是否会被注册以及如何查看它?这些可以在 DropWizard 指标的 Jconsole 或 JMXreporter 中查看吗?是否有任何关于它的使用示例,如果有人可以附上一些示例,那将真的很有帮助?还有谁能帮我在 gradle 中添加 metrics-aspectJ插件.build版本 2.3

我查看了类似问题Codahale Metrics: using @Timed metrics annotation in plain Java 他们提到包括 metrics-aspectj 但注意到如何完成指标注册的堆栈流。我是面向方面编程概念的新手。如果有人能解释它是如何在上述 github 项目中工作的,那就太好了。