2012-10-24 2 views
6

방금 ​​cubism.js로 시작했습니다큐브 메트릭의 단계를 변경하려면 어떻게합니까?

예제 코드를 제거했습니다. 하나의 계산 된 (kpi1) - 임의 함수, 하나의 큐브 (kpi2)를 보여줄 수 있습니다. 그것은 1e4로 컨텍스트 단계에서 완벽하게 작동합니다. 계산 된 1 - 랜덤 - 1e3으로 변경하자마자 1s의 해상도로 잘 보이고 큐브의 경우는 전혀 표시되지 않습니다.

이 작동합니다

var context = cubism.context() 
    .serverDelay(0) 
    .clientDelay(0) 
    .step(1e4) 
    .size(960); 

이되지 않습니다 : 내가 잘못 뭐하는 거지

var context = cubism.context() 
    .serverDelay(0) 
    .clientDelay(0) 
    .step(1e3) 
    .size(960); 

?

<!DOCTYPE html> 
<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><meta charset="utf-8"> 

<title>Dashboard</title> 

</head><body><div id="body"> 


<div id="kpi1"></div> 
<div id="kpi2"></div> 


<script src="../d3.v2.js"></script> 
<script src="../cubism.v1.js"></script> 

<script>function random(name) { 
    var value = 0, 
     values = [], 
     i = 0, 
     last; 
    return context.metric(function(start, stop, step, callback) { 
    start = +start, stop = +stop; 
    if (isNaN(last)) last = start; 
    while (last < stop) { 
     last += step; 
     value = Math.max(-10, Math.min(10, value + .8 * Math.random() - .4 + .2 * Math.cos(i += .2))); 
     values.push(value); 
    } 
    callback(null, values = values.slice((start - stop)/step)); 
    }, name); 
}</script> 

<script> 

var context = cubism.context() 
    .serverDelay(0) 
    .clientDelay(0) 
    .step(1e4) 
    .size(960); 

var foo = random("foo"); 
var cube = context.cube(); 

d3.select("#kpi1").call(function(div) { 

    div.selectAll(".horizon") 
     .data([foo]) 
    .enter().append("div") 
     .attr("class", "horizon") 
     .call(context.horizon()); 

}); 

d3.select("#kpi2").call(function(div) { 

    div.selectAll(".horizon") 
     .data([cube.metric("median(cube_compute(ms))")]) 
    .enter().append("div") 
     .attr("class", "horizon") 
     .call(context.horizon()); 

}); 

</script> 

</body></html> 

답변

4

Cubism.js는 단계하지만 큐브 백엔드 시스템은이 다섯 단계 중 하나에 저장에서 통계 집계를 지원하는 지원

1e4 or 10 seconds 
    6e4 or 1 minute 
    3e5 or 5 minutes 
    36e5 or 1 hour 
    864e5 or 1 day 

당신이 단계를 사용한다면 어떤 Cube는 pyramidal reducers을 사용하여 하위 및 하위 지원 수준에서 이루어진 사전 계산을 활용할 수 없습니다.

+0

이것이 제공하는 성능 향상 요인을 알고 계십니까? – Renaud

관련 문제