类 MetricSearcher

java.lang.Object
com.alibaba.csp.sentinel.node.metric.MetricSearcher

public class MetricSearcher extends Object
从指定目录下找出所有的metric文件,并按照指定时间戳进行检索,参考find(long, int)。 会借助索引以提高检索效率,参考MetricWriter;还会在内部缓存上一次检索的文件指针,以便下一次顺序检索时 减少读盘次数。
作者:
leyou
  • 构造器详细资料

    • MetricSearcher

      public MetricSearcher(String baseDir, String baseFileName)
      参数:
      baseDir - metric文件所在目录
      baseFileName - metric文件名的关键字,比如 alihot-metrics.log
    • MetricSearcher

      public MetricSearcher(String baseDir, String baseFileName, Charset charset)
      参数:
      baseDir - metric文件所在目录
      baseFileName - metric文件名的关键字,比如 alihot-metrics.log
      charset -
  • 方法详细资料

    • find

      public List<MetricNode> find(long beginTimeMs, int recommendLines) throws Exception
      从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