我喜欢立体主义的用户体验,并希望在我们拥有的后端之上使用它。
我已经阅读了API文档和一些代码,其中大部分似乎已被提取。我如何才能开始完全使用其他数据源?
我有一个大约6k的单台计算机的数据存储,其5分钟的精度大约是100个统计数据。
我想使用该机器的特定标识符查询某些Web应用程序,然后通过查询特定的mongo数据存储来呈现类似于立体派的仪表板。
编写webapp或查询mongo并不是问题。
这个问题更符合以下事实:立体主义似乎需要查询用于每个单独数据点的任何数据存储(例如,在一周的窗口中有100个统计信息……很贵)。
我还有另一种方法可以利用此工具来查看使用类似于以下代码的内容加载的数据吗?
var data = []; d3.json("/initial", function(json) { data.concat(json); }); d3.json("/update", function(json) { data.push(json); });
立体主义为您处理初始化和更新:初始请求是完整的可见窗口(开始到停止,通常为1,440个数据点),而后续请求仅针对几个最新指标(7个数据点)。
查看context.metric,了解如何实现新数据源。可能的最简单的实现是这样的:
var foo = context.metric(function(start, stop, step, callback) { d3.json("/data", function(data) { if (!data) return callback(new Error("unable to load data")); callback(null, data); }); });
您将对此进行扩展以适当地更改“ / data” URL,传入开始时间,停止时间和步骤时间,以及您要用于标识指标的任何其他内容。例如,Cube和Graphite都使用度量表达式作为附加查询参数。