如何按时间汇总日志记录

时间:2011-11-02 18:31:26

标签: file time range aggregate records

我有一个巨大的日志文件,其中包含带有时间戳的日志消息。时间戳的精确度为微秒。我想在记录最大数量的消息时找到一个10秒的时间窗口。你怎么能这样做?

2 个答案:

答案 0 :(得分:1)

您需要逐行浏览文件,找出每个时间戳所在的10个句点,并跟踪哪个时间戳范围有最大的“成员”数。

你没有指定哪种语言,所以我只使用伪代码:

  1. 读一行
  2. 将时间戳提取/转换为10秒间隔号
  3. 如果此时间戳超出前一个时间间隔的范围,则“记住”该时间间隔 会员计数并开始新的间隔计数器
  4. 如果前一个区间的成员数大于上一个记录的最大区间,则将前一个区间设为新的“最大”区间
  5. 此新行的增量间隔计数器。
  6. 重复直到文件被消耗
  7. 吐出记录的间隔号,该号码的会员数最多

答案 1 :(得分:1)

您可以先将日志文件聚合为一秒间隔,然后在这些数字中找到最高权重的序列。