RRDs::graph ...
RRDs::fetch ...
RRDs::tune ...
+ RRDs::times(start, end)
=head1 DESCRIPTION
is also valid.
+The RRDs::times function takes two parameters: a "start" and "end" time.
+These should be specified in the U<AT-STYLE TIME SPECIFICATION> format
+used by rrdtool. See the U<rrdfetch> documentation for a detailed
+explanation on how to specify time.
+
=head2 Error Handling
The RRD functions will not abort your program even when they can not make
=head2 Return Values
-The functions RRDs::last, RRDs::graph, RRDs::info and RRDs::fetch return their
-findings.
+The functions RRDs::last, RRDs::graph, RRDs::info, RRDs::fetch and RRDs::times
+return their findings.
B<RRDs::last> returns a single INTEGER representing the last update time.
print "\n";
}
+B<RRDs::times> returns two integers which are the number of seconds since
+epoch (1970-01-01) for the supplied "start" and "end" arguments, respectively.
+
See the examples directory for more ways to use this extension.
=head1 NOTE
PUSHs(sv_2mortal(newRV_noinc((SV*)names)));
PUSHs(sv_2mortal(newRV_noinc((SV*)retar)));
+void
+rrd_times(start, end)
+ char *start
+ char *end
+ PREINIT:
+ struct time_value start_tv, end_tv;
+ char *parsetime_error = NULL;
+ time_t start_tmp, end_tmp;
+ PPCODE:
+ rrd_clear_error();
+ if( (parsetime_error = parsetime( start, &start_tv))) {
+ rrd_set_error( "start time: %s", parsetime_error);
+ XSRETURN_UNDEF;
+ }
+ if( (parsetime_error = parsetime( end, &end_tv))) {
+ rrd_set_error( "end time: %s", parsetime_error);
+ XSRETURN_UNDEF;
+ }
+ if( proc_start_end( &start_tv, &end_tv, &start_tmp, &end_tmp) == -1) {
+ XSRETURN_UNDEF;
+ }
+ EXTEND(sp,2);
+ PUSHs(sv_2mortal(newSVuv(start_tmp)));
+ PUSHs(sv_2mortal(newSVuv(end_tmp)));
int
rrd_xport(...)