/*****************************************************************************
- * RRDtool 1.2.23 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.99907080300 Copyright by Tobi Oetiker, 1997-2007
*****************************************************************************
* rrd_dump Display a RRD
*****************************************************************************
rrd_value_t value;
struct tm tm;
- rrd_file = rrd_open(filename, &rrd, RRD_READONLY);
+ rrd_file = rrd_open(filename, &rrd, RRD_READONLY | RRD_READAHEAD);
if (rrd_file == NULL) {
rrd_free(&rrd);
return (-1);
fputs("<!-- Round Robin Database Dump -->", out_file);
fputs("<rrd>", out_file);
- fprintf(out_file, "\t<version> %s </version>\n", RRD_VERSION);
+ if (atoi(rrd.stat_head->version) <= 3) {
+ fprintf(out_file, "\t<version> %s </version>\n", RRD_VERSION3);
+ } else {
+ fprintf(out_file, "\t<version> %s </version>\n", RRD_VERSION);
+ }
fprintf(out_file, "\t<step> %lu </step> <!-- Seconds -->\n",
rrd.stat_head->pdp_step);
#if HAVE_STRFTIME
} else { /* DST_CDEF */
char *str = NULL;
- rpn_compact2str((rpn_cdefds_t *) & (rrd.ds_def[i].par[DS_cdef]),
+ rpn_compact2str((rpn_cdefds_t *) &(rrd.ds_def[i].par[DS_cdef]),
rrd.ds_def, &str);
fprintf(out_file, "\t\t<cdef> %s </cdef>\n", str);
free(str);
fprintf(out_file, "\t\t<params>\n");
switch (cf_conv(rrd.rra_def[i].cf_nam)) {
case CF_HWPREDICT:
+ case CF_MHWPREDICT:
fprintf(out_file, "\t\t<hw_alpha> %0.10e </hw_alpha>\n",
rrd.rra_def[i].par[RRA_hw_alpha].u_val);
fprintf(out_file, "\t\t<hw_beta> %0.10e </hw_beta>\n",
fprintf(out_file,
"\t\t<seasonal_smooth_idx> %lu </seasonal_smooth_idx>\n",
rrd.rra_def[i].par[RRA_seasonal_smooth_idx].u_cnt);
+ if (atoi(rrd.stat_head->version) >= 4) {
+ fprintf(out_file,
+ "\t\t<smoothing_window> %0.10e </smoothing_window>\n",
+ rrd.rra_def[i].par[RRA_seasonal_smoothing_window].u_val);
+ }
fprintf(out_file,
"\t\t<dependent_rra_idx> %lu </dependent_rra_idx>\n",
rrd.rra_def[i].par[RRA_dependent_rra_idx].u_cnt);
}
switch (cf_conv(rrd.rra_def[i].cf_nam)) {
case CF_HWPREDICT:
+ case CF_MHWPREDICT:
value =
rrd.cdp_prep[i * rrd.stat_head->ds_cnt +
ii].scratch[CDP_hw_intercept].u_val;
}
fprintf(out_file, "</rrd>\n");
rrd_free(&rrd);
- close(rrd_file->fd);
if (out_file != stdout) {
fclose(out_file);
}
- return (0);
+ return rrd_close(rrd_file);
}