通用图形和图表解决方案

时间:2010-12-18 00:00:47

标签: statistics visualization generics charts graphing

我正在寻找通用的图表解决方案,理想情况下不是提供以下功能的托管解决方案: 绘制值为元组的值元组:
1)服务标识符(例如CPU使用)
2)该服务内的客户标识符(例如服务器IP)
3)值
4)具有毫秒/秒分辨率的时间戳。

可选 我还想进一步扩展客户端标识符的概念,进一步采用上面的例子,我想分别存储每个核心的统计信息,因此,另一个标识符将是Core 1 / Core 2 ..

现在,为了确保我明确说明我的问题,我不想要收集这些统计信息的实用程序。我想要存储它们的东西,但是,这也不是强制性的,我总是可以将它们存储在MySQL中,或者等等。

我正在寻找的东西可以采用诸如此类的价值,并以多种方式很好地绘制它们(时间轴,动作和通常的[饼图,条形...])。基本上,一个很好的可视化包,允许我使用所有这些数据。我将从多个服务,多个应用程序收集数据,数据点将具有不同的分辨率。一些数据将包括多层嵌套,一些没有。 (例如,CPU会转到服务器IP,CPU#,而内存只是服务器IP,但会包含不同的标识符,即free / used / cached作为“辅助”标识符。平均请求延迟可能不会在ping的情况下,根本就有一个辅助标识符。我想要的是,拥有多层标识符会很棒。添加一个最后一个例子,说明多个标识符会很棒:添加一个额外的标识符在ip / cpu#之上,即进程名称。我认为这样做的好处是显而易见的。

对于某些应用程序,我们可能会在非常狭窄的范围内收集数据,关注每个方面,在其他情况下,它可能是更一般的统计数据。当事情出错时,两者都有用,第一个快速说“出错了”,第二个说出“为什么?”。

此外,如果图表应用程序抛出“坏”值,那将是一件好事,也就是说,如果由于某种原因我们的监控程序开始在单个内核上使用300%CPU的值10秒,那么如果图表本身从长远来看没有反映它,那就太好了。也许某种平滑?显然,这可以在数据层完成,因此根本不需要它。

最后,比较两个时间点,或者比较同一服务的两个不同客户端标识符等,而不需要太多努力就会很棒。

我不偏袒任何特定的语言,虽然我更喜欢(PHP,Python,C / C ++,C#)中的某些东西,因为这些是我熟悉的语言。它不一定是开源的,它不一定是一个库,我愿意使用最适合我的目的。

更多的P.S而非要求:我希望拥有非技术人员易于理解的漂亮图表,并采取行动(并且喜欢看!)。

我愿意澄清,并提前感谢您的时间!

1 个答案:

答案 0 :(得分:1)

我很确定protovis符合您的所有要求。但它有一点学习曲线。您打算通过示例来学习,并且有很多工作要做。默认情况下,它会生成一些非常好的图表每个值都可以是一个函数,所以你可以做一些事情,比如摆脱你的“坏”值。