19

私はキュービズムのユーザーエクスペリエンスが好きで、これを私たちが持っているバックエンドの上で使用したいと思います。

APIドキュメントといくつかのコードを読みましたが、ほとんどが抽出されているようです。どうすれば他のデータソースを正確に使い始めることができますか?

私は約6kの個々のマシンのデータストアを持っており、約100の統計で5分の精度があります。

そのマシンの特定の識別子を使用してWebアプリにクエリを実行し、特定のmongoデータストアにクエリを実行して、キュービズムに似たダッシュボードをレンダリングしたいと思います。

Webアプリの作成やmongoへのクエリは問題ではありません。

この問題は、キュービズムでは、個々のデータポイントごとに使用するデータストアにクエリを実行する必要があるように見えるという事実とより一致しています(たとえば、1週間のウィンドウ全体で100の統計があります...高価です)。

このツールを利用して、以下のコードのようなものを使用して読み込まれるデータを確認する別の方法はありますか?

var data = [];
d3.json("/initial", function(json) { data.concat(json); });
d3.json("/update", function(json) { data.push(json); });
4

1 に答える 1

19

初期化と更新は Cubism が行います。最初のリクエストは完全に表示されるウィンドウ (開始から停止まで、通常は 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 は両方とも、メトリック式を追加のクエリ パラメータとして使用します。

于 2012-05-10T01:03:12.140 に答える