Huxing Zhang
Huxing Zhang
## Who is Using Arthas First of all, thanks sincerely for constantly using and supporting Arthas. We will try our best to keep Arthas better, and keep growing Arthas community....
Currently we have cloudwego-kitex / kratos / Spring Cloud Alibaba, and more frameworks are on the way, it is better for the OpenSergo dashboard to be able to distinguish the...
``` ==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...
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,...
The following flame graph shows the memory allocation is beyond expectation. We should optimize it. 
Ensure the metrics can be exported to Spring micrometer.
A java application running under spring boot: ``` 2019-03-14 11:46:07.202 ERROR 20364 --- [rter-1-thread-1] com.alibaba.metrics.tomcat.HttpGaugeSet : Exception occur when getting connector global stats: java.lang.NullPointerException: null at com.alibaba.metrics.tomcat.HttpGaugeSet.getValueInternal(HttpGaugeSet.java:87) at com.alibaba.metrics.CachedMetricSet.refreshIfNecessary(CachedMetricSet.java:48) at...