3

基本上,我需要一个可以为节点服务器计算的收集数据绘制实时图表的工具。

我尝试安装Graphite,但安装失败(linux 中的新手导致太多依赖项安装失败)。所以我正在寻找是否有其他工具可以通过简单的安装指南完成类似的工作?

我也看了 abit highcharts,但几乎没有任何关于 node.js 的文档。如果有人体验过这些工具并提供一些建议,将不胜感激!

4

1 回答 1

2

如果不知道您正在计算什么样的分析数据以及您正在使用什么类型的图表,那么给您一个很好的例子有点困难。但无论如何,这是一个简单的场景。

当服务器更改一些分析数据时,使用 socket.io 向客户端发送一条消息,其中包含新的分析数据。像这样的东西:

io.sockets.emit('analyticsUpdate', x, y);

在客户端,正常创建 Highcharts 图表,然后将 load() 事件添加到图表选项,并使用 socket.io 检索新数据并更新图表,如下所示:

    var chart;
    chart = new Highcharts.Chart({
        chart: {
            renderTo: 'container',
            type: 'spline',
            events: {
                load: function() {
                    socket.on('analyticsUpdate', function (x, y) {
                         // Simple case where you have a single series
                         // and your data can simply be appended to the series

                         var series = this.series[0];
                         series.addPoint([x, y], true, true);
                    };
                }
            }
        }
    });

因此,每当服务器更新一些分析数据时,socket.io 就会发出一条消息。客户端总是在监听来自服务器的消息,因此每当它收到一条新消息时,它都会更新图表。

于 2012-09-18T17:48:36.030 回答