我正在使用Python的模擬引擎工作,我在這裏收集了大量指標。模擬運行速度很快,每秒產生大約100K個事件(我可以通過每秒整合這些事件來做一些處理)。我正在尋找一種機制將這些指標記錄爲時間序列。用於在Python應用程序中處理時間序列數據的RRD庫
我的要求是:
我想在同一個進程這個日誌機制 的,而不是外部進程如石墨
機制必須能夠模擬處理100K事件/秒而不會減慢模擬。我想存儲的數據如下:每個度量標準相關數據應該以1秒粒度存儲60分鐘,1分鐘粒度爲1天,5分鐘粒度爲2天,1小時粒度爲6個月和1天的粒度爲3年的持續時間。我希望這個機制按照指定的範圍來處理數據的合併。
理想情況下,我想維護一個文件,其中包含一次模擬運行的度量信息。對於另一個仿真運行,必須創建單獨的文件。
這將是很好有一個良好測試的庫/模塊是現成的:)
BTW,我參加了一個粗略地看一下RRDTool的,但是從我的理解,似乎像python庫是RRDTool二進制文件的薄包裝器。如果可能,我正在尋求更緊密的集成。
TIA
你有沒有嘗試過的代碼或以前看過的東西,你可以告訴我們? – 2013-05-06 22:07:47
我以前使用過http://graphite.wikidot.com/。但正如我在我的問題文字中提到的那樣,這是我模擬的外部過程,我寧願不這樣做。現在我正在閱讀RRDTool的文檔 - http://oss.oetiker.ch/rrdtool/doc/rrdtool.en.html。目前我還沒有爲此編寫任何代碼,因爲我仍在確定要走哪條路。 – 2013-05-06 22:10:15
http://oss.oetiker.ch/rrdtool/prog/rrdpython.en.html似乎是一個前瞻性的解決方案。任何有經驗的人都可以使用這個評論來評論我的用例是否合適? – 2013-05-06 22:17:18