json d3.js cubism.js

json - Usando otras fuentes de datos para cubism.js



d3.js (1)

El cubismo se encarga de la inicialización y la actualización: la solicitud inicial es la ventana visible completa (de principio a fin, generalmente 1,440 puntos de datos), mientras que las solicitudes subsiguientes son solo para algunas métricas más recientes (7 puntos de datos).

Eche un vistazo a context.metric para context.metric cómo implementar una nueva fuente de datos. La implementación más simple posible es así:

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); }); });

Lo extendería para cambiar la URL "/ data" según corresponda, pasando los tiempos de inicio, parada y paso, y cualquier otra cosa que desee utilizar para identificar una métrica. Por ejemplo, tanto Cube como Graphite utilizan una expresión métrica como un parámetro de consulta adicional.

Me gusta la experiencia de usuario del cubismo, y me gustaría usar esto en la parte superior del backend que tenemos.

He leído los documentos de la API y algunos de los códigos, la mayor parte de esto parece haberse extraído. ¿Cómo podría comenzar a usar otras fuentes de datos exactamente?

Tengo un almacén de datos de aproximadamente 6 mil máquinas individuales con una precisión de 5 minutos en aproximadamente 100 estadísticas.

Me gustaría consultar alguna aplicación web con un identificador específico para esa máquina y luego mostrar un panel de control similar al cubismo consultando un almacén de datos específico de Mongo.

Escribir la aplicación web o la consulta a mongo no es el problema.

El problema está más en línea con el hecho de que el cubismo parece requerir la consulta del almacén de datos que utilice para cada punto de datos individual (digamos que tiene 100 estadísticas en una ventana de una semana ... caro).

¿Hay alguna otra forma en que podría aprovechar esta herramienta para ver los datos que se cargan utilizando algo similar al código siguiente?

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