aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/js/RrdDataFile.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/RrdDataFile.js')
-rw-r--r--js/RrdDataFile.js21
1 files changed, 11 insertions, 10 deletions
diff --git a/js/RrdDataFile.js b/js/RrdDataFile.js
index 4ebb220..2c0e846 100644
--- a/js/RrdDataFile.js
+++ b/js/RrdDataFile.js
@@ -42,21 +42,23 @@ RrdDataFile.prototype = {
42 var cal_start, cal_end; 42 var cal_start, cal_end;
43 var best_full_rra = 0, best_part_rra = 0, chosen_rra = 0; 43 var best_full_rra = 0, best_part_rra = 0, chosen_rra = 0;
44 var best_full_step_diff = 0, best_part_step_diff = 0, tmp_step_diff = 0, tmp_match = 0, best_match = 0; 44 var best_full_step_diff = 0, best_part_step_diff = 0, tmp_step_diff = 0, tmp_match = 0, best_match = 0;
45 var full_match, rra_base; 45 var full_match;
46 var first_full = 1; 46 var first_full = 1;
47 var first_part = 1; 47 var first_part = 1;
48 var data_ptr; 48 var data_ptr;
49 var rows; 49 var rows;
50 var rra;
51 var i, ii;
50 52
51 var cf_idx = gdp.cf; 53 var cf_idx = gdp.cf;
52 var ds_cnt = rrd.getNrDSs(); 54 var ds_cnt = rrd.getNrDSs();
53 var rra_cnt = rrd.getNrRRAs(); 55 var rra_cnt = rrd.getNrRRAs();
54 56
55 for (var i = 0; i < ds_cnt; i++) 57 for (i = 0; i < ds_cnt; i++)
56 gdp.ds_namv[i] = rrd.rrd_header.getDSbyIdx(i).getName(); 58 gdp.ds_namv[i] = rrd.rrd_header.getDSbyIdx(i).getName();
57 59
58 for (var i = 0; i < rra_cnt; i++) { 60 for (i = 0; i < rra_cnt; i++) {
59 var rra = rrd.getRRAInfo(i); 61 rra = rrd.getRRAInfo(i);
60 if (RrdGraphDesc.cf_conv(rra.getCFName()) === cf_idx) { 62 if (RrdGraphDesc.cf_conv(rra.getCFName()) === cf_idx) {
61 cal_end = (rrd.getLastUpdate() - (rrd.getLastUpdate() % (rra.getPdpPerRow() * rra.pdp_step))); 63 cal_end = (rrd.getLastUpdate() - (rrd.getLastUpdate() % (rra.getPdpPerRow() * rra.pdp_step)));
62 cal_start = (cal_end - (rra.getPdpPerRow() * rra.row_cnt * rra.pdp_step)); 64 cal_start = (cal_end - (rra.getPdpPerRow() * rra.row_cnt * rra.pdp_step));
@@ -87,7 +89,7 @@ RrdDataFile.prototype = {
87 else throw "the RRD does not contain an RRA matching the chosen CF"; 89 else throw "the RRD does not contain an RRA matching the chosen CF";
88 90
89 var rra_info = rrd.getRRAInfo(chosen_rra); 91 var rra_info = rrd.getRRAInfo(chosen_rra);
90 var rra = rrd.getRRA(chosen_rra); 92 rra = rrd.getRRA(chosen_rra);
91 93
92 ft_step = rrd.rrd_header.pdp_step * rra_info.getPdpPerRow(); 94 ft_step = rrd.rrd_header.pdp_step * rra_info.getPdpPerRow();
93 gdp.start -= (gdp.start % ft_step); 95 gdp.start -= (gdp.start % ft_step);
@@ -107,13 +109,13 @@ RrdDataFile.prototype = {
107 109
108 for (i = start_offset; i < rra.row_cnt - end_offset; i++) { 110 for (i = start_offset; i < rra.row_cnt - end_offset; i++) {
109 if (i < 0) { 111 if (i < 0) {
110 for (var ii = 0; ii < ds_cnt; ii++) 112 for (ii = 0; ii < ds_cnt; ii++)
111 gdp.data[data_ptr++] = Number.NaN; 113 gdp.data[data_ptr++] = Number.NaN;
112 } else if (i >= rra.row_cnt) { 114 } else if (i >= rra.row_cnt) {
113 for (var ii = 0; ii < ds_cnt; ii++) 115 for (ii = 0; ii < ds_cnt; ii++)
114 gdp.data[data_ptr++] = Number.NaN; 116 gdp.data[data_ptr++] = Number.NaN;
115 } else { 117 } else {
116 for (var ii = 0; ii < ds_cnt; ii++) 118 for(ii = 0; ii < ds_cnt; ii++)
117 gdp.data[data_ptr++] = rra.getEl(i, ii); 119 gdp.data[data_ptr++] = rra.getEl(i, ii);
118 } 120 }
119 } 121 }
@@ -153,8 +155,7 @@ RrdDataFile.prototype = {
153 }, 155 },
154 fetch_async: function(gdp, ft_step, callback, callback_arg) 156 fetch_async: function(gdp, ft_step, callback, callback_arg)
155 { 157 {
156 var rrd; 158 if (gdp.rrd === null) return -1;
157 if (gdp.rrd == null) return -1;
158 159
159 if (gdp.rrd in this.rrdfiles) { 160 if (gdp.rrd in this.rrdfiles) {
160 callback(callback_arg, this.build(gdp, ft_step, this.rrdfiles[gdp.rrd])); 161 callback(callback_arg, this.build(gdp, ft_step, this.rrdfiles[gdp.rrd]));