jetcache icon indicating copy to clipboard operation
jetcache copied to clipboard

设置了statIntervalMinutes只能统计该时间区间内的信息

Open myheavyhead opened this issue 1 year ago • 8 comments

版本号:jetcache-core 2.6.5

设置了statIntervalMinutes只能统计该时间区间内的信息,但是我想既统计statIntervalMinutes这个周期内的缓存情况,又想统计整个周期(从jetcache启动到现在)的缓存情况,我该如何配置呢。

查阅了官方手册好像没有看到这种配置方法,使用自定义统计又感觉没有官方的全面和友好。

期待您的回复,谢谢。

myheavyhead avatar Jun 05 '23 03:06 myheavyhead

没有这个支持。不过metrics相关的需求很容易定制。

你提供的ConfigProvider覆盖一下,覆盖metricsMonitorInstaller方法,看一下代码,然后按自己的需求定制,扩展点很多的。

按你的要求,要给cache安装两个monitor,一个定期重置,一个不重置。

areyouok avatar Jun 05 '23 06:06 areyouok

好的,我现在试试,谢谢

myheavyhead avatar Jun 05 '23 06:06 myheavyhead

@areyouok 您好,请问如何实现自己的CacheMonitor呢,我看网上的资料说可以实现CacheMonitor接口,如何将其指定给缓存这样就可以自定义统计各类信息了,但是我发现该接口目前就一个方法了。

myheavyhead avatar Jun 06 '23 03:06 myheavyhead

@areyouok 你好,我在我的代码里面,定义了一个StatInfoLogger的子类,类似下面这样

`@Service public class MyStatInfoLogger extends StatInfoLogger { public MyStatInfoLogger() { super(true); }

@Override
public void accept(StatInfo statInfo) {
    System.out.println(1);
    System.out.println(2);
}

}`

我想让jetcache打印统计信息时,进入到我自己的accept方法中,我在jetcache-config.yml中进行了如下的配置

jetcache: statIntervalMinutes: 1 stat: logger: com.xxx.MyStatInfoLogger

可实际效果却不尽人意,他并没有进入到我的MyStatInfoLogger 中,因此我也无法自定义统计信息,请问有什么办法可以达到我的目的吗,还是说我的配置不对。

期待您的回复,谢谢。

myheavyhead avatar Jun 06 '23 03:06 myheavyhead

你应该提供自己的SpringConfigProvider bean,覆盖metricsMonitorInstaller。

如果是2.6可能是需要提供一个自己的CacheMonitorManager bean。

你需求特殊就需要看下代码,找到扩展点在哪,而不是去网上查找现成的答案。主要的点都在ConfigProvider类里面,这个类是预留了很多扩展的点的。

areyouok avatar Jun 06 '23 04:06 areyouok

请问如何扩展自己的SpringConfigProvider 呢,每次启动都报错找不到 'com.alicp.jetcache.anno.support.GlobalCacheConfig' : (,我还需要把JetCacheAutoConfiguration也扩展吗

myheavyhead avatar Jun 06 '23 08:06 myheavyhead

对了。https://github.com/alibaba/jetcache/blob/master/docs/CN/Stat.md 这个上面说的“如果需要定制输出,可以这样做:” 给出的示例应该是有问题的。

myheavyhead avatar Jun 06 '23 09:06 myheavyhead

2.6的JetCacheAutoConfiguration里面定义的SpringConfigProvider有ConditionalOnMissingBean注解,你自己定义一个bean就把它覆盖了。

areyouok avatar Jun 07 '23 02:06 areyouok