metrics
metrics copied to clipboard
The metrics library for Apache Dubbo and any frameworks or systems.
生态上有些也比较欠缺,应该是作者比较忙吧,最近正好在用这块,搞好了提交点代码给作者审核吧。
目前Slf4jReporter 上报Counter是通过Counter.getCount()取值,这个值是从创建开始就一直累加的, 如果用Counter来统计qps,那上报的qps是错误的。 所以如果要监控qps,应该怎么使用?
以耗时为例,p99等都是单机定时计算,然后上报出去,那么服务集群的p99怎么算?怎么算都不准吧
The listener receives a Gauge and is necessary to persist in MetricManager. How can I update a Gauge inside MetricManager? At MetricRegistryImpl#register an exception "A metric named ... already exists"...
``` ==WARNING== allocating large array--thread_id[0x00007f77bc03d000]--thread_name[ali-metrics-pool-1-thread-5]--array_size[8589941536 bytes]--array_length[1073742690 elememts] os_prio=0 tid=0x00007f77bc03d000 nid=0x2436 runnable at com.alibaba.metrics.reporter.bin.zigzag.io.LongArrayOutputStream.(LongArrayOutputStream.java:10) at com.alibaba.metrics.reporter.bin.zigzag.LongCodec.decompress(LongCodec.java:49) at com.alibaba.metrics.reporter.bin.zigzag.LongDZBP.fromBytes(LongDZBP.java:183) at com.alibaba.metrics.server.MetricsOnDisk.getDataFromDisk(MetricsOnDisk.java:91) at com.alibaba.metrics.server.MetricsSearchService.distinguishSearch(MetricsSearchService.java:326) at com.alibaba.metrics.server.MetricsSearchService.search(MetricsSearchService.java:130) at com.alibaba.metrics.server.MetricsSearchService.search(MetricsSearchService.java:104) at com.alibaba.metrics.rest.MetricsResource.searchMetrics(MetricsResource.java:287) at sun.reflect.GeneratedMethodAccessor877.invoke(Unknown Source)...
内存泄露报表: 类加载器"xxxClassLoader @ 0x760829790"加载的"com.alibaba.metrics.server.MetricsMemoryCache"实例"0x760904030"占用了1,215,172,200 (33.23%)字节.其内存主要积累在由类加载"bootstrap class loader"加载的"java.util.TreeMap$Entry"实例"0x715e43858". /logs/metrics/bin/日期/目录下生成了上GB的单个文件,删了这些文件之后再重启应用就不FGC了,否则重启完了还是会继续FGC. 通过OQL语言查询,发现内存里面读入大量的二进制落盘long数组。  1. 需要排查为何生成了上GB的单个文件 2. 二进制落盘时考虑增加大小限制 2. 从文件中读取数据的时候,需要增加保护措施,方式读取到内存中的数据过多
If user created Counter with: ```java Counter counter = MetricManager.getCounter("test", MetricName.build(xxx)); ``` And hold the reference for later use. If user did not access the counter within 1 day (by...
https://github.com/dubbo/metrics/blob/49e2ec8d876fc2ce2e1ef99c4cc3ad9add5d60c8/metrics-reporter/src/main/java/com/alibaba/metrics/reporter/file/FileMetricManagerReporter.java#L257 这里单位转换我无法理解,我感觉正确的应该是`if (TimeUnit.SECONDS.equals(timestampPrecision))`,这样的代码整个库中有好几处,可以全局查找关键字`timestampPrecision`,不知道是不是BUG呢?
When the number of metrics reaches the upper limit, a warn log will be output every time: ``` [ WARN ] [2019-04-11 20:00:42] 65634a0c4570ce860ea9f5410eeedb3a- metrics size > 5000, a nop...
After you register a Gauge to MetricManager using `com.alibaba.metrics.MetricManager#register`, there is no way to query it from MetricManager. As an alternative, you can use MetricManager.getIMetricManager().getGauges() to get all the gauges,...