我正在将Dropwizard Metrics添加到一个Web应用程序中,我正在使用metrics servlet来检索数据,但是,我无法获得JVM的详细信息。
我在MetricRegistry上设置了以下内容。
metrics.register("jvm.memory", new MemoryUsageGaugeSet());
metrics.register("jvm.gc", new GarbageCollectorMetricSet());
metrics.register("jvm.attribute", new JvmAttributeGaugeSet());
metrics.register("jvm.threads", new ThreadStatesGaugeSet());
metrics.register("jvm.buffers", new BufferPoolMetricSet(ManagementFactory
.getPlatformMBeanServer()));
metrics.register("jvm.classloader", new ClassLoadingGaugeSet());
metrics.register("jvm.filedescriptor", new FileDescriptorRatioGauge());
根据下面的javadoc,它说Metrics Servlet需要一个参数。https:/metrics.dropwizard.io4.1.2manualservlets.html。
MetricsServlet
.....
MetricsServlet also takes an initialization parameter, show-jvm-metrics, which if "false" will disable the outputting of JVM-level information in the JSON object.
我已经这样做了,但我仍然没有得到JVM统计的回报。文档中似乎推断出默认情况下应该是true。
<servlet>
<servlet-name>metrics</servlet-name>
<servlet-class>com.codahale.metrics.servlets.MetricsServlet</servlet-class>
<init-param>
<param-name>show-jvm-metrics</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
我是不是又漏了一步?
谢谢你
好的,所以事实证明这是正确的。没有遗漏步骤.不知为什么,今天再次尝试后,完全相同的代码工作,没有变化.去想。