#!/usr/bin/env perl
use strict; use warnings;
my %h; my %d; my %ser; my %met;
my $x=0;
while(<DATA>){
next unless /\w/;
my($server,$datetime,$metric,$value) = (split)[0,1,2,3];
$value =~ s/,//g ;
my $ddhh = substr $datetime,0,13;
my $dd = substr $datetime,0,10;
$d{$dd }{$server}{$metric}{max} = ($x < $value) ? $value : $x;
$d{$dd }{$server}{$metric}{min} = ($x > $value) ? $value : $x ;
$h{$ddhh }{$server}{$metric}{max} = ($x < $value) ? $value : $x;
$h{$ddhh }{$server}{$metric}{min} = ($x > $value) ? $value : $x ;
$ser{$server} = 1;
$met{$metric} = 1;
}
print "Frequency Hour:\ncollectionTime\n\n";
for my $key (sort keys %h){
print "$key ";
for my $ser_key (sort keys %ser){
print "$ser_key ";
for my $met_key (sort keys %met){
print " $met_key";
printf " %10s", $h{$key}{$ser_key}{$met_key}{max}; print " "
+;
printf " %10s", $h{$key}{$ser_key}{$met_key}{min}; print " "
+;
}
}
print "\n";
}
__DATA__
server01: 2015-06-23T21:58:05-05:00 FC_IO_BY_R 13,5
+50,785 MB
server01: 2015-06-23T21:58:05-05:00 FC_IO_BY_W 6,89
+2,224 MB
server01: 2015-06-23T21:59:05-05:00 FC_IO_BY_R 13,5
+51,835 MB
server01: 2015-06-23T21:59:05-05:00 FC_IO_BY_W 6,89
+2,339 MB
server01: 2015-06-23T22:00:05-05:00 FC_IO_BY_R 13,5
+52,066 MB
server01: 2015-06-23T22:00:05-05:00 FC_IO_BY_W 6,89
+2,433 MB
server01: 2015-06-23T22:01:05-05:00 FC_IO_BY_R 13,5
+53,303 MB
server01: 2015-06-23T22:01:05-05:00 FC_IO_BY_W 6,89
+2,590 MB
server01: 2015-06-23T22:02:05-05:00 FC_IO_BY_R 13,5
+55,006 MB
server01: 2015-06-23T22:02:05-05:00 FC_IO_BY_W 6,89
+2,836 MB
server01: 2015-06-23T22:03:05-05:00 FC_IO_BY_R 13,5
+56,007 MB
server01: 2015-06-23T22:03:05-05:00 FC_IO_BY_W 6,89
+2,961 MB
server01: 2015-06-23T22:04:05-05:00 FC_IO_BY_R 13,5
+56,201 MB
server01: 2015-06-23T22:04:05-05:00 FC_IO_BY_W 6,89
+3,086 MB
server01: 2015-06-23T22:05:05-05:00 FC_IO_BY_R 13,5
+56,408 MB
server01: 2015-06-23T22:05:05-05:00 FC_IO_BY_W 6,89
+3,208 MB
server02: 2015-06-23T21:58:54-05:00 FC_IO_BY_R 13,4
+70,021 MB
server02: 2015-06-23T21:58:54-05:00 FC_IO_BY_W 7,43
+1,544 MB
server02: 2015-06-23T21:59:54-05:00 FC_IO_BY_R 13,4
+70,381 MB
server02: 2015-06-23T21:59:54-05:00 FC_IO_BY_W 7,43
+1,642 MB
server02: 2015-06-23T22:00:54-05:00 FC_IO_BY_R 13,4
+71,003 MB
server02: 2015-06-23T22:00:54-05:00 FC_IO_BY_W 7,43
+1,760 MB
server02: 2015-06-23T22:01:54-05:00 FC_IO_BY_R 13,4
+71,334 MB
server02: 2015-06-23T22:01:54-05:00 FC_IO_BY_W 7,43
+1,980 MB
server02: 2015-06-23T22:02:54-05:00 FC_IO_BY_R 13,4
+71,629 MB
server02: 2015-06-23T22:02:54-05:00 FC_IO_BY_W 7,43
+2,196 MB
server02: 2015-06-23T22:03:54-05:00 FC_IO_BY_R 13,4
+71,947 MB
server02: 2015-06-23T22:03:54-05:00 FC_IO_BY_W 7,43
+2,307 MB
server02: 2015-06-23T22:04:54-05:00 FC_IO_BY_R 13,4
+72,575 MB
server02: 2015-06-23T22:04:54-05:00 FC_IO_BY_W 7,43
+2,418 MB
server02: 2015-06-23T22:05:54-05:00 FC_IO_BY_R 13,4
+73,473 MB
server02: 2015-06-23T22:05:54-05:00 FC_IO_BY_W 7,43
+2,586 MB
Maximum values are fine, but as you said I am struck with Minimum values defined, its always getting initialized to 0.
Could you please help me to come out of it? I mean, is there any way to initialize the actual minimum values?
|