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