Issue Description
在开源的控制台中,
默认实现的 InMemoryMetricsRepository
只按秒储存了五分钟的数据, 而且没有统计相关的逻辑。
比如 查看1天内所有资源QPS排行,方便调优。
另外在 MetricsRepository
中,List<T> queryByAppAndResourceBetween(String app, String resource, long startTime, long endTime);
此方法应该增加一个扩展参数用于传递查询参数, 不然只能从数据库查出所有数据再从业务层进行过滤。
Describe what happened (or what feature you want)
修改 InMemoryMetricsRepository
实现, 默认增加以5分钟的维度进行储存统计数据。
这样方便某些场景,比如需要查看最近一天的统计数据走势,
或者要查看服务资源的总体调用情况,以便定位并进一步优化频繁访问的资源。
因为是按照5分钟的维度进行统计储存,这样即使是一天的数据也只有300条不到, 内存占用极低也很方便使用。
2条答案
按热度按时间xtupzzrd1#
企业级生产上线,不应该在内存中区处理,应该借助于外部存储,达到能实时秒级监控查看;同时解决dashboard单点的问题,集群化部署可扩展;以及优化心跳上报,过多的http心跳不适合大量应用,大量实例的情况。
oxcyiej72#
线上Http是不太适合,但是测试环境中提供一个开箱即用的功能也是挺好的
测试环境中的接口调用情况统计,也能大概的反应出接口的优化方向
特别是对于小企业来说,可能更倾向花费一点内存