Never been to CodeSnippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world (or not, you can keep them private!)

1 total

On This Page:

  1. 1 s_was_esb_logging.pl

s_was_esb_logging.pl

Stocke dans CODA les compteurs de perfs WAS ESB.

#
# PERL
# VERSION: "@(#)s_was_esb_logging.pl v1.0 05/06/2007"
#
# FONCTION:
#
# POLICY: N/A
#
# CONFIGURATION: N/A
#
# PARAMETRES D'APPEL:
#
# SORTIE: message
#
# FICHIERS ENTREE:
#
#
# FICHIERS SORTIE:
#
#
#
# COMMENTAIRES:
#
#
# MODIFICATIONS:
#
#
use strict;
use warnings;
my $debug = '';

my $spi_was_dir    = "$ENV{OVAGENTDIR}\\wasspi\\wbs";
my $instrum_dir = "$ENV{OVAGENTDIR}\\bin\\instrumentation";
#my $udm_dir        = 'c:\IBPEXPL';
#my $udm_file       = 'UDMMetrics.xml';
#my $spiconfig_dir = "$spi_was_dir";
my  $perl_exe_path  = "$ENV{OVPERLBIN}";
my  $dir_for_log    = "$spi_was_dir\\datalog_esb";
my @server_list = ( 'server1 on ibwasr08.srv-ib.dev port 2309',
                    'server1 on ibwasr08.srv-ib.dev port 2209',
                    'server1 on ibwasr08.srv-ib.dev port 2809',
                    'server1 on ibwasr08.srv-ib.dev port 2109',
                    'server1 on ibwasr08.srv-ib.dev port 2109',
                    'server1 on ibwasr08.srv-ib.dev port 2409',
                  );
my @instance_list =
    qw ( DossierCliEJB GestAboEJB GestAdmCliEJB GestAdrComEJB GestComCliEJB FctCtrEJB );
my @metric_list = qw ( 717 710 );
my $coll_cmd    = "wasspi_wbs_perl -S wasspi_wbs_ca -m 717 -x print=on";
my $cmd_output  = `cd \"$instrum_dir\" &&  $coll_cmd`;

my %servers;
my %instances;

sub value_print {
 my ( $desc_file, $server_app ) = @_;
        for my $instance ( keys %{ $servers{$server_app} } ) {
        my ( $val ) = $servers{$server_app}->{$instance} =~ /[0-9a-zA-Z-_ \.,]+\=\>[0-9a-zA-Z-_ \.,]+\=\>(\d+.\d+)/x;
        $val =~ s/\,/\./g;
            print {$$desc_file} ' ' . $val ;
        }
        return;
}

sub ddf_log {
 my ( $server ) = @_;
 my $cmd = "\"$instrum_dir\\ddflog.exe\" \"$dir_for_log\" WAS_ESB -s 0 -i \"$dir_for_log\\$server.dat\"";
 system "\"$cmd\"";
 return;
}


foreach my $line ( split /\n/, $cmd_output ) {
    next if !($line);
    my ( $server_name, $instance_name, $value ) =
        $line =~
        /^\w+\W+\w+\W+\w+\W+"([0-9a-zA-Z-_ \.]+)"\W+\w+\W+"([0-9a-zA-Z-_ \.,]+)"\W+\w+\W+(\d+.\d+).*/x;
    $servers{"$server_name"}{"$instance_name"} =
        $server_name . '=>' . $instance_name . '=>' . $value;
}

if ($debug) {
    for my $server ( keys %servers ) {
        for my $instance ( keys %{ $servers{$server} } ) {
            print $servers{$server}->{$instance} . "\n";
        }
    }
}

for my $server ( keys %servers ) {
    print $server . "\n" if ($debug);
    open my $desc_file_sever, '>', "$dir_for_log\\$server.dat" || die "can't open file $server.dat: $!";
    ( my $server_fn = $server ) =~ s/ /_/g ;
    print {$desc_file_sever} "$server_fn                                                                                                                                                                 " || die "can't print to $server.dat: $!";
	    value_print( \$desc_file_sever, $server );
    close $desc_file_sever;
    ddf_log( $server );
}

1 total

On This Page:

  1. 1 s_was_esb_logging.pl