开发者

How can i use one perl script to create/populate and draw a RRDTool graph

Here is an example: this script would generate data.


#!/opt/local/bin/perl
use Data::Dumper;
use strict;

my $i=0;
my $startTime=time;
$startTime += $ARGV[0] + 5;
my $dTime = localtime( $startTime );
print "\n##################\nLAUNCHING REQUESTS\n COUNT: $ARGV[0]\n DELAY: | 1 \nThe scripts will fire at : $dTime\n##################\n\n";
while ( $ARGV[0] > $i )
{
    $i++;
    system("php avtestTimed.php $ARGV[0] $ARGV[2] $startTime");
    print "RUN system('php avtestTimed.php $ARGV[0] $ARGV[2] $startTime'); \n";
    sleep 1;
}

The Result on stdout is:

##################
LAUNCHING REQUESTS
 COUNT: 5
 DELAY: | 1 
The scripts will fire at : Mon Dec  6 09:38:15 2010
##################


EXECUTING AT 0.00015100 1291646295 --  WITH SID 28a952711439a8f98e5acf807da3455c -- AGAINST test.yakabod.net
RESPONSE RECEIVED FROM (https://test.yakabod.net/activityViewer/index.html) IN 1.5974318981171
RUN system('php avtestTimed.php 5 test.yakabod.net 1291646295'); 

EXECUTING AT 0.35701200 1291646299 --  WITH SID 492cdb3e3893d1fa6ea1a6e8b4961087 -- AGAINST test.yakabod.net
RESPONSE RECEIVED FROM (https://test.yakabod.net/activityViewer/index.html) IN 1.5956890583038
RUN system('php avtestTimed.php 5 test.yakabod.net 1291646295'); 

EXECUTING AT 0.16751000 1291646304 --  WITH SID b97a379d2a73a9bb8df2ab0ee9665417 -- AGAINST test.yakabod.net
RESPONSE RECEIVED FROM (https://test.yakabod.net/activityViewer/index.html) IN 1.5704379081726
RUN system('php avtestTimed.php 5 test.yakabod.net 1291646295'); 

EXECUTING AT 0.51596300 1291646308 --  WITH SID 997b017d830cdd357036a24dd77313e9 -- AGAINST test.yakabod.net
RESPONSE RECEIVED FROM (https://test.yakabod.net/activityViewer/index.html) IN 1.5980801582336
RUN system('php avtestTimed.php 5 test.yakabod.net 1291646295'); 

EXECUTING AT 0.89809900 1291646312 --  WITH SID c512edc3491fb6ebc11ce72d547af201 -- AGAINST test.yakabod.net
RESPONSE RECEIVED FROM (https://test.yakabod.net/activityViewer/index.html) IN 1.5987639427185
RUN system('php avtestTimed.php 5 test.yakabod.net 1291646295'); 

Now what i need to do is to take the two variables: 1. EXECUTING AT 0.51596300 1291646308 2. RESPONSE RECEIVED FROM (https:开发者_开发百科//test.yakabod.net/activityViewer/index.html) IN 1.5987639427185

and store them in teo variables: $exec_at $receive_at and update RRDTool with these values. Any hints on how i can do this ?, what i am trying to plot is : 1. line graphs for EXECUTING AT variable 2. Scatter graph for RESPONSE

Thanks, -Kamal.


You can use CPAN's RRD::Simple to plot this very quickly: simply create the rrd, and on each iteration call update with your data points. You should be able to adapt the example on the link to your script.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜