summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 0873fc8)
raw | patch | inline | side by side (parent: 0873fc8)
author | oetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa> | |
Thu, 15 Jan 2004 18:14:02 +0000 (18:14 +0000) | ||
committer | oetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa> | |
Thu, 15 Jan 2004 18:14:02 +0000 (18:14 +0000) |
bindings/perl-shared/RRDs.pm | patch | blob | history | |
bindings/perl-shared/RRDs.xs | patch | blob | history |
index fbe44784cded7ca0fc691ca4f77baac1e113d238..6ee4b3d36cb21e5712e6bcc8054724a14cbb1f6d 100644 (file)
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
index e2a0c8f8252d05d05028aad19754c878dfc58d13..da77457ffeaebeefc96c298ce4d787263e28796d 100644 (file)
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(...)