InfluxDB-HTTP
view release on metacpan or search on metacpan
=head1 NAME
InfluxDB::HTTP - The Perl way to interact with InfluxDB!
=head1 VERSION
Version 0.04
=head1 SYNOPSIS
InfluxDB::HTTP allows you to interact with the InfluxDB HTTP API. The module essentially provides
one method per InfluxDB HTTP API endpoint, that is C<ping>, C<write> and C<query>.
use InfluxDB::HTTP;
my $influx = InfluxDB::HTTP->new();
my $ping_result = $influx->ping();
print "$ping_result\n";
my $query = $influx->query(
[ 'SELECT Lookups FROM _internal.monitor.runtime WHERE time > '.(time - 60)*1000000000, 'SHOW DATABASES'],
epoch => 's',
);
print "$query\n";
=head1 SUBROUTINES/METHODS
=head2 RETURN VALUES AND ERROR HANDLING
C<Object::Result> is relied upon for returning data from subroutines. The respective result
object can always be used as string and evaluated on a boolean basis. A result object
evaluating to false indicates an error and a corresponding error message is provided in the
attribute C<error>:
my $ping = $influx->ping();
print $ping->error unless ($ping);
Furthermore, all result objects provide access to the C<HTTP::Response> object that is returned
by InfluxDB in the attribute C<raw>.
=head2 new host => 'localhost', port => 8086, timeout => 600
Passing C<host>, C<port> and/or C<timeout> is optional, defaulting to the InfluxDB defaults or
to 3 minutes for the timeout. The timeout is in seconds.
Returns an instance of InfluxDB::HTTP.
=head2 ping
Pings the InfluxDB instance configured in the constructor (i.e. by C<host> and C<port>).
Returned object evaluates to true or false depending on whether the ping was successful or not.
If true, then it contains a C<version> attribute that indicates the InfluxDB version running on
the pinged server.
The C<version> attribute is extracted from the C<X-Influxdb-Version> HTTP response header, which
is part of the HTTP response from the pinged InfluxDB instance.
my $ping = $influx->ping();
print $ping->version if ($ping);
=head2 query query, database => "DATABASE", chunk_size => CHUNK_SIZE, epoch => "ns"
Used to query the InfluxDB instance. All parameters but the first one are optional. The
C<query> parameter can either be a String or a Perl ArrayRef of Strings, where every String
contains a valid InfluxDB query.
If the returned object evaluates to true, indicating that the query was successful, then
the returned object's C<data> attribute contains the entire response from InfluxDB as Perl
( run in 0.969 second using v1.01-cache-2.11-cpan-524268b4103 )