1########################################### 2# Test Suite for RRDs appenders 3# Mike Schilli, 2004 (m@perlmeister.com) 4########################################### 5 6BEGIN { 7 if($ENV{INTERNAL_DEBUG}) { 8 require Log::Log4perl::InternalDebug; 9 Log::Log4perl::InternalDebug->enable(); 10 } 11} 12 13use warnings; 14use strict; 15 16use Test::More; 17 18use Log::Log4perl qw(get_logger); 19 20my $DB = "myrrddb.dat"; 21 22BEGIN { eval 'require RRDs'; 23 if($@) { 24 plan skip_all => "(RRDs not installed)"; 25 exit 0; 26 } else { 27 plan tests => 1; 28 } 29 }; 30END { unlink $DB }; 31 32use RRDs; 33 34RRDs::create( 35 $DB, "--step=1", 36 "DS:myvalue:GAUGE:2:U:U", 37 "RRA:MAX:0.5:1:120"); 38 39Log::Log4perl->init(\qq{ 40 log4perl.category = INFO, RRDapp 41 log4perl.appender.RRDapp = Log::Log4perl::Appender::RRDs 42 log4perl.appender.RRDapp.dbname = $DB 43 log4perl.appender.RRDapp.layout = Log::Log4perl::Layout::PatternLayout 44 log4perl.appender.RRDapp.layout.ConversionPattern = N:%m 45}); 46 47my $logger = get_logger(); 48 49for(10, 15, 20) { 50 $logger->info($_); 51 sleep 1; 52} 53 54my ($start,$step,$names,$data) = 55 RRDs::fetch($DB, "MAX", 56 "--start" => time() - 20); 57$data = join ' - ', map { "@$_" } grep { defined $_->[0] } @$data; 58#print $data; 59 60like($data, qr/\d\d/); 61