2011-11-02 56 views
0

我有一個包含以時間戳爲前綴的日誌消息的巨大日誌文件。時間戳的精度爲微秒。當記錄最多的消息時,我想查找10秒的時間窗口。你怎麼能這樣做?如何按時間彙總日誌記錄

回答

1

您需要逐行掃描文件,找出每個時間戳記在哪個10秒週期內,並跟蹤哪個時間戳記範圍具有最大的「成員」數量。

你沒有指定哪一種語言,所以我就用僞代碼:

  1. 讀取一行
  2. 提取/轉換時間戳爲10秒間隔數
  3. 如果這個時間戳外請記住間隔的 成員計數並啓動一個新的間隔計數器
  4. 如果前一個間隔的成員數大於最後記錄的最大間隔,則將前一個間隔設置爲新的「最大間隔「區間
  5. 此新行的增量間隔計數器。
  6. 重複,直到文件的被消耗
  7. 吐出記錄的區間數,這將有最大的會員數
+0

馬克,你是什麼意思將時間戳轉換爲10秒的間隔數? – Drona

+0

'floor(timestamp/10)',假設它只是簡單的數字,或者至少有一些函數將它轉換爲一個簡單的數字。 –

1

您可能首先收集您的日誌文件到一秒的間隔,然後找到這些號碼最重的序列。