我正在使用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