index 6f5b36c50e70aebf3027695a89a23e4b6e8a1520..1fe4c0ca8d538d2c5541f0bae591f9671133c549 100644 (file)
#include "Python.h"
#include "rrd.h"
#include "rrd_extra.h"
+#include "rrd_rpncalc.h"
static PyObject *ErrorObject;
extern int optind;
unsigned long i, j, row;
rrd_value_t dv;
- row = ((end - start) / step + 1);
+ row = (end - start) / step;
r = PyTuple_New(3);
range_tup = PyTuple_New(3);
DICTSET_STR(d, "ds_name", rrd.ds_def[i].ds_nam);
DICTSET_STR(d, "type", rrd.ds_def[i].dst);
- DICTSET_CNT(d, "minimal_heartbeat", rrd.ds_def[i].par[DS_mrhb_cnt].u_cnt);
- DICTSET_VAL(d, "min", rrd.ds_def[i].par[DS_min_val].u_val);
- DICTSET_VAL(d, "max", rrd.ds_def[i].par[DS_max_val].u_val);
+
+ switch(dst_conv(rrd.ds_def[i].dst)) {
+ case DST_CDEF:
+ {
+ char *buffer = NULL;
+ rpn_compact2str((rpn_cdefds_t *) &(rrd.ds_def[i].par[DS_cdef]),
+ rrd.ds_def, &buffer);
+ DICTSET_STR(d, "cdef", buffer);
+ }
+ break;
+ default:
+ DICTSET_CNT(d, "minimal_heartbeat", rrd.ds_def[i].par[DS_mrhb_cnt].u_cnt);
+ DICTSET_VAL(d, "min", rrd.ds_def[i].par[DS_min_val].u_val);
+ DICTSET_VAL(d, "max", rrd.ds_def[i].par[DS_max_val].u_val);
+ break;
+ }
DICTSET_STR(d, "last_ds", rrd.pdp_prep[i].last_ds);
DICTSET_VAL(d, "value", rrd.pdp_prep[i].scratch[PDP_val].u_val);
DICTSET_CNT(d, "unknown_sec", rrd.pdp_prep[i].scratch[PDP_unkn_sec_cnt].u_cnt);