2011-03-23 46 views
0

我有一個日誌文件,像這樣:繪圖系統負載

40624.4866625463#事件1
40624.4866623727#事件1
40624.4866623727#事件1
40624.4866625463#事件1
40624.4866625463#事件1
40624.4866627315#Event1
40624.4866627315#Event1
40624.4866627315#Event1
40624.4866627315#事件1

其中:

  • 第一個數字是日期時間。 (整數是天數和分數是時間。)
  • #是字段分隔符
  • Event1 - 是事件的描述。

我想要做的是繪製移動時間窗口內的事件數量。窗口將在15秒左右,但必須容易變化。所以圖表將是事件與時間的比率。

我想使用gnuplot但我願意使用任何其他在Windows上運行的繪圖工具。

非常感謝。

+0

我有幾個問題關於你的問題:1.爲什麼使用平均數事件,當你真的知道數字事件? 2.「易變」是什麼意思?也許你可以張貼草圖來想象你想要的是什麼? – Woltan 2011-03-23 10:40:25

+0

@沃爾頓 - 你是對的,我不需要在時間窗口上劃分,因爲它會保持不變。每次移動窗口的事件總數都可以。我無法發佈圖片(代理限制),但我正在尋找一個線圖,表示隨着時間的推移,我的系統上的負載。通過變量我的意思是對於一個繪圖窗口將被設置爲15s,但另一個繪圖可能被設置爲1s窗口。 – T33C 2011-03-23 10:47:01

+0

你使用什麼編程環境?即它是一個具有各種元素的unix(cygwin)shell嗎?還是它是一個「真正的」應用程序?此外,什麼時間單位是以毫秒,微秒,秒錶示的時間?你應該可以很容易地使用perl來做到這一點。 – 2011-03-23 11:59:07

回答

0

我不是一個gnuplot專家,但我認爲你正在嘗試做的事情不可能與gnuplot或至少不是一個很好很容易的方式。 gnuplot需要的是一個包含數字的數據文件來相應地繪製它們。如果我正確地理解了你的話,你可以嘗試在任意一段時間內總結事件,並在移動窗口中繪製該數字。

這個總結是gnuplot不支持的。有可能調用shell命令,但我建議您採用您最喜歡的腳本語言並處理您可用的數據。然後你可以將這些數據導出到gnuplot可以處理的數據文件中。

編輯

我剛剛碰到的另一種方法是Asymptote。我沒有用過它,但它看起來有很大的潛力。我肯定會看看它的一些時間,直到那時也許你可以檢查它並報告它是多麼容易拿起;)

+0

謝謝Woltan。但是必須有一些支持這一點的工具。它不一定是gnuplot。當然你的方法會起作用,這就是我所做的,我只是希望有一個更優雅的方法。 – T33C 2011-03-23 17:00:18

+0

嗨T33C,我不認爲有一個工具在那裏有你正在尋找確切的接口。我認爲你更有可能通過編寫腳本或通過以不同格式導出數據來自己提供接口。在我看來,繪圖工具的作用不是成爲一種腳本語言,而是支持一套基本的數據格式,我認爲你的數據格式不符合這種格式。 – Woltan 2011-03-24 07:06:51