- Repository
- Munin (master)
- Last change
- 2018-03-24
- Graph Categories
- Family
- contrib
- Keywords
- Language
- Perl
mw_cpu
Sadly there is no documentation for this plugin.
#!/usr/bin/perl
#
# this is public domain copy and share at will
# quick n dirty hack to read specific performance data on HP-UX through
# measureware (perfview)
#
# Sigurd Mytting:
# I wrote some quick and dirty plugins a few years ago who use Measureware
# to gather data, known to work on 11.23, 11.11 and 11, both pa/risc and
# itanium (A-class, N-class, rxwhatever, even the now thrown out superdome
# upgraded from pa/risc to itanium with 64 cores/128GB memory).
#
# Bugs:
# - This plugin lacks "autoconf". If someone cleans it up to enable use
# of environment variables for binaries and state files and makes a
# "autoconf" command it will be suitable for family=auto and autoconf.
#
#%# family=contrib
use strict;
my $reptdata = "format DATAFILE
headings=on
separator=\",\"
DATA TYPE GLOBAL
record_type
date
time
interval
gbl_proc_sample
GBL_CPU_SYS_MODE_UTIL
GBL_CPU_USER_MODE_UTIL
GBL_CPU_CSWITCH_UTIL
GBL_CPU_TOTAL_UTIL
";
my $extract = "/opt/perf/bin/extract";
my $datafile = "/var/tmp/munin.mwa.rep";
my $reptfile = "/var/tmp/munin.rept-basic";
if ($ARGV[0] eq "config") {
print "graph_title CPU Utilization\n";
print "graph_vlabel %\n";
print "graph_category cpu\n";
print "graph_scale no\n";
print "graph_args --upper-limit 100 -l 0\n";
print "GBL_CPU_SYS.label System\n";
print "GBL_CPU_SYS.draw AREA\n";
print "GBL_CPU_CSWITCH.label Cswitch\n";
print "GBL_CPU_CSWITCH.draw STACK\n";
print "GBL_CPU_USER.label User\n";
print "GBL_CPU_USER.draw STACK\n";
exit 0;
}
open OUT, ">$reptfile";
print OUT $reptdata;
close OUT;
# get data:
system "$extract -xp D -f $datafile,purge -g -r $reptfile -l /var/opt/perf/datafiles/logglob > /dev/null 2>&1";
unlink $reptfile;
my $last;
if (-f $datafile) {
$last=`tail -1 $datafile`;
}
unlink $datafile;
#print $last ;
# "Rec "," "," "," Sec "," Proc ","Memory"," "," "," Peak ",
# "Type"," Date ","Time ","/Intvl","Sample"," % ","Swap %","CPU % ","Disk %",
# "GLOB","02/01/05","16:55", 299, 5 , 27.77, 14.00, 1.83, 1.63,
my (undef, undef, undef, undef, $d,$SYS,$USER,$CSWITCH, $TOTAL) = split /\,/,$last;
print "GBL_CPU_SYS.value $SYS\n";
print "GBL_CPU_CSWITCH.value $CSWITCH\n";
print "GBL_CPU_USER.value $USER\n";