2014-01-20 61 views
0

我需要爲我的rails 4應用程序實現時間序列圖。它不是流數據,但我需要this的外觀和感覺,但沒有動畫。我開始尋找文件,它似乎有點稀疏(或我是一個白癡:()使Cubism.js與Rails應用程序一起工作

但我需要一些幫助,在開始這個項目,創建here但同樣沒有任何文檔。

石墨和立方體的維基會談,服務於備份數據,但這些是Python庫庫。我爲什麼要使用它們?

我應該在哪裏開始呢?

到目前爲止,我的軌道應用程序創建了一個「可視化」腳手架,每個v isualization有一個名字,描述。我計劃讓「顯示」方法爲可視化渲染圖形。

的數據Im表示爲:

x axis = time- scaled minute by minute 
y axis = tv channels 
metric to be shown = viewership stats (integers, decimals 2 sig figs) 

數據將從導軌+ MySQL數據庫被拉動。

我應該從哪裏開始。任何幫助開始將非常感激。

感謝

+0

[This question](http://stackoverflow.com/questions/20097897/plotting-a-line-using-d3-and -an-json-data-object-passed-from-rails)可能會有所幫助。 –

+0

您需要決定是否要將糟糕而強大的Graphite-webapp作爲前端或美麗的d3。 :) – erbdex

+0

@erbdex我想使用d3,但似乎使用cubism.js處理很多咕嚕作品。你能否詳細說明你所指的權衡? – banditKing

回答

0

石墨變爲 '容易' 和固定存儲。

容易,因爲度量可以以不同粒度存儲。您可以存儲數據,如 - Datapoint every 10s for 1 week, Every 1min for 30days, Every 10min for 1year。這種設計使您成爲傳統存儲器設計的百分之一。它不是真的是是一個妥協的細節,因爲你實際上從來不關心10個粒度級別的5個月後的事件。有了那麼多的時間,你會專注於趨勢,而不是實際值

已修復,因爲每個文件都需要一個固定的一次性存儲空間。如果你測量更多的東西,你將只會用完磁盤。

向石墨發送指標非常簡單而且便宜。

像這樣的一行代碼 - echo "yahoo.mysql.update.time 4 EPOCH" | nc 10.0.0.12 2003;就是將度量標準發送到石墨所需要的一切。這意味着團隊中的每個開發人員都不需要對Graphite內部的工作知識。而且,模塊,程序,服務器和域可以在他們的身份前加上(),這使得信息在另一端真正可管理。例如,具有最小設置的這個特定示例度量將變爲-beta.front-layer.ip-10-0-0-139.crawler.yahoo.mysql.update.time

您可以使用UDP發送度量標準,這使得它成爲一個「即丟即用」機制,不會對系統造成任何程度的壓力。分析過程不需要強調系統。海森堡在這裏微笑。

檢索從石墨可能是最好的實現方式之一在那裏

This會告訴你的,你可以在JSON,CSV,SVG,GIF等從石墨的URL API提取數據的各種方法。還有許多多功能,即插即用的前端。

可擴展

石墨具有非常小的足跡。說話的數字,我正在做一個每分鐘450K指標的EC2 m1.large機器與1000 PIOPS。每分鐘450K的指標是很多(雖然這似乎是限制,我有計劃水平縮放架構)

相關問題