2014-01-20 3 views
0

Мне нужно реализовать график временных рядов для моих рельсов 4 приложения. Его не потоковые данные, но мне нужен внешний вид this, но без анимации. Я начал изучать документацию и, похоже, немного разрежен (или Im an idiot :()Создание Cubism.js работы с Rails-приложением

Но мне нужна помощь, чтобы начать работу с этим проектом и, похоже, не найти многого после того, как он запустил это. создано here но опять-таки не хватает какой-либо документации.

вики переговоры графита и куба, библиотеки, которые служат копии данных, но они являются питона библиотеки. Почему бы их использовать?

Куда я должен начать?

До сих пор я использовал мое приложение для рельсов, я создал «визуализацию» эшафот. 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

[Этот вопрос] (http://stackoverflow.com/questions/20097897/plotting-a-line-using-d3-and -an-json-data-object-pass-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. Этот дизайн обойдется вам в сотую часть традиционных схем памяти. Это не действительно компромисс по деталям, потому что вы практически никогда не заботитесь о событии 5 месяцев назад на уровне детализации 10s. С таким количеством времени вы сосредоточились бы на тренде , чем фактическая стоимость.

Исправлено: каждый файл занимает постоянное одноразовое пространство. У вас будет только нехватка дисков, если вы измеряете больше вещей.

Это действительно простой и дешевый способ отправки метрик на графит.

Единственная строка кода, подобная этому - 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 графита в. Также есть много многофункциональных интерфейсов plug-and-play.

Scalable

Графит имеет очень маленький след. Говорящие числа, я делаю 450 тыс. Метриков в минуту на машине EC2 m1.large с 1000 PIOPS. Показатели 450K в минуту - . (Хотя это, кажется, предел, и у меня есть планы масштабирования архитектуры по горизонтали)

Смежные вопросы