类 MetricSearcher
java.lang.Object
com.alibaba.csp.sentinel.node.metric.MetricSearcher
从指定目录下找出所有的metric文件,并按照指定时间戳进行检索,参考
find(long, int)。
会借助索引以提高检索效率,参考MetricWriter;还会在内部缓存上一次检索的文件指针,以便下一次顺序检索时
减少读盘次数。- 作者:
- leyou
-
构造器概要
构造器构造器说明MetricSearcher(String baseDir, String baseFileName) MetricSearcher(String baseDir, String baseFileName, Charset charset) -
方法概要
修饰符和类型方法说明find(long beginTimeMs, int recommendLines) 从beginTime开始,检索recommendLines条(大概)记录。同一秒中的数据是原子的,不能分割成多次查询。findByTimeAndResource(long beginTimeMs, long endTimeMs, String identity) Find metric between [beginTimeMs, endTimeMs], both side inclusive.
-
构造器详细资料
-
MetricSearcher
- 参数:
baseDir- metric文件所在目录baseFileName- metric文件名的关键字,比如 alihot-metrics.log
-
MetricSearcher
- 参数:
baseDir- metric文件所在目录baseFileName- metric文件名的关键字,比如 alihot-metrics.logcharset-
-
-
方法详细资料
-
find
从beginTime开始,检索recommendLines条(大概)记录。同一秒中的数据是原子的,不能分割成多次查询。- 参数:
beginTimeMs- 检索的最小时间戳recommendLines- 查询最多想得到的记录条数,返回条数会尽可能不超过这个数字。但是为保证每一秒的数据不被分割,有时候 返回的记录条数会大于该数字。- 返回:
- 抛出:
Exception
-
findByTimeAndResource
public List<MetricNode> findByTimeAndResource(long beginTimeMs, long endTimeMs, String identity) throws Exception Find metric between [beginTimeMs, endTimeMs], both side inclusive. When identity is null, all metric between the time intervalMs will be read, otherwise, only the specific identity will be read.- 抛出:
Exception
-