diff options
Diffstat (limited to '')
-rw-r--r-- | js/RrdDataFile.js | 21 |
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])); |