Hello community, here is the log from the commit of package collectl for openSUSE:Factory checked in at 2015-06-01 09:53:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/collectl (Old) and /work/SRC/openSUSE:Factory/.collectl.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "collectl" Changes: -------- --- /work/SRC/openSUSE:Factory/collectl/collectl.changes 2015-04-25 11:25:50.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.collectl.new/collectl.changes 2015-06-01 09:53:54.000000000 +0200 @@ -1,0 +2,13 @@ +Thu May 28 18:34:49 UTC 2015 - [email protected] + +- Update to 4.0.2 + * add /bin/bash to list of 'known shells' excluded from output with + --procopt k + * generalize ethernet network device name to include ALL names + matching type 'p\dp' so we pick up p2p, p3p, p4p... [thanks Matt] + * collect nr_shmem so we can track shared memory, apparently something + I thought of but never acted on [thanks Christian] + * do not include guest cpu metrics in totals since already accounted + for in user time + +------------------------------------------------------------------- Old: ---- collectl-4.0.0.src.tar.gz New: ---- collectl-4.0.2.src.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ collectl.spec ++++++ --- /var/tmp/diff_new_pack.6MBDHt/_old 2015-06-01 09:53:55.000000000 +0200 +++ /var/tmp/diff_new_pack.6MBDHt/_new 2015-06-01 09:53:55.000000000 +0200 @@ -17,7 +17,7 @@ Name: collectl -Version: 4.0.0 +Version: 4.0.2 Release: 0 Summary: Collects data that describes the current system status License: Artistic-1.0 and GPL-2.0+ ++++++ collectl-4.0.0.src.tar.gz -> collectl-4.0.2.src.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/collectl-4.0.0/RELEASE-collectl new/collectl-4.0.2/RELEASE-collectl --- old/collectl-4.0.0/RELEASE-collectl 2015-03-10 20:52:21.000000000 +0100 +++ new/collectl-4.0.2/RELEASE-collectl 2015-05-27 15:02:55.000000000 +0200 @@ -13,24 +13,13 @@ Configure to start on boot - In both cases, collectl will not be configured to start on boot - but can easily be set to do so with the command: + On RedHat based installations, collectl will not be configured to start + on boot, but can easily be set to do so with the command: chkconfig collectl on KNOWN PROBLEMS/RESTRICTIONS - - There is a known problem with older perl Time::HiRes modules, newer - versions of glibc and colletcl intervals of 1 second or greater (see - http://collectl.sourceforge.net/HiResTime.html for more details) that - can result in 'setitimer' messages being logged at system startup when - collectl has been configured to run as a daemon. these messages appear - to benign, but be sure to let someone know if that proves not to be the - case. If collectl determines your system has this mismatch, it will - report it as a warning in collectl's message file in /var/log/collectl - every time it starts as a daemon. If you choose, you can easily turn - off the checking by editing the entry at the bottom of /etc/collectl.conf - named TimeHiResCheck and setting it to 0. - if system time is changed by more then the log rolling frequency after collectl starts, multiple log files will be created during the next polling cycle(s) @@ -38,6 +27,31 @@ COLLECTL CHANGES +4.0.2 May 27, 2015 + - add /bin/bash to list of 'known shells' excluded from output with + --procopt k + - generalize ethernet network device name to include ALL names + matching type 'p\dp' so we pick up p2p, p3p, p4p... [thanks Matt] + - collect nr_shmem so we can track shared memory, apparently something + I thought of but never acted on [thanks Christian] + - do not include guest cpu metrics in totals since already accounted + for in user time + +4.0.1 + - change /usr/sbin to /usr/bin in init.d/collectl [thanks Ladislav] + - pattern match to exclude partitions from disk summary is WRONG and + we need to make sure name doesn't match cciss disks like c0d0! + [thanks, Laurent] + - changed help text for -retaddr to NOT use 'use' preceding -deb because + rpmbuild gets confused ang tries to include '-deb' as a dependency + [thanks dan] + - include 'en' network devices in summary data [thanks homerl] + - change buddyinfo to deal with less fields in /proc/buddyinfo as apparently + there are not always 11 of them [thanks greg] + - remove lustre from --showsubsys + - removed 'known problem' with older versions of Time::HiRes in these + release notes as that was quite a long time ago + 4.0.0 Mar 9, 2015 - rare, but if selecting processes by parent pid or command name, it's possible when a new pid is seen that it's already exited by the time @@ -56,14 +70,18 @@ COLMUX CHANGES +4.9.0 ??? + - header name printing in single line mode not quite right for all + combinations of switches + 4.8.3 Mar 9, 2015 -- -oT -test wasn't including time column in help output whereas -od and -oD - did [thanks, robbin] -- new switch: -retaddr tells collectl to connect back to this address rather - than the one colmux chooses by default which is default interface's addr -- change in way return address is determined because RHEL 7 changed the - format of the ifconfig output, changing Bcast to broadcast and dropping - addr: [thanks hank] + - -oT -test wasn't including time column in help output whereas -od and -oD + did [thanks, robbin] + - new switch: -retaddr tells collectl to connect back to this address rather + than the one colmux chooses by default which is default interface's addr + - change in way return address is determined because RHEL 7 changed the + format of the ifconfig output, changing Bcast to broadcast and dropping + addr: [thanks hank] PRE-4.0 COLLECTL CHANGES diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/collectl-4.0.0/collectl new/collectl-4.0.2/collectl --- old/collectl-4.0.0/collectl 2015-03-10 20:52:21.000000000 +0100 +++ new/collectl-4.0.2/collectl 2015-05-27 15:02:55.000000000 +0200 @@ -111,7 +111,7 @@ $rootFlag=(!$PcFlag && `whoami`=~/root/) ? 1 : 0; $SrcArch= $Config{"archname"}; -$Version= '4.0.0-1'; +$Version= '4.0.2-1'; $Copyright='Copyright 2003-2015 Hewlett-Packard Development Company, L.P.'; $License= "collectl may be copied only under the terms of either the Artistic License\n"; $License.= "or the GNU General Public License, which may be found in the source kit"; @@ -3841,7 +3841,7 @@ # Memory elsif ($type==5) { - next if $line=~/^nr/; + next if $line=~/^nr/ && $line!~/^nr_sh/; next if $line=~/^numa/; last if $memOpts!~/[ps]/ && $line=~/^pgre/; # ignore from pgrefill forward last if $memOpts!~/s/ && $line=~/^pgst/; # ignore from pgstead forward @@ -6367,7 +6367,6 @@ f - nfs i - inodes j - interrupts by CPU - l - lustre m - memory n - network s - sockets @@ -6382,7 +6381,6 @@ E - environmental (fan, power, temp) [requires ipmitool] F - nfs data J - interrupts by CPU by interrupt number - L - lustre M - memory numa/node N - individual Networks T - tcp details (lots of data!) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/collectl-4.0.0/colmux new/collectl-4.0.2/colmux --- old/collectl-4.0.0/colmux 2015-03-10 20:52:21.000000000 +0100 +++ new/collectl-4.0.2/colmux 2015-05-27 15:02:55.000000000 +0200 @@ -65,7 +65,7 @@ my $Collectl='/usr/bin/collectl'; my $Program='colmux'; -my $Version='4.8.3'; +my $Version='4.9.0'; my $Copyright='Copyright 2005-2014 Hewlett-Packard Development Company, L.P.'; my $License="colmux may be copied only under the terms of either the Artistic License\n"; $License.= "or the GNU General Public License, which may be found in the source kit"; @@ -657,10 +657,12 @@ { exit if !reformatHeaders(); + print "LASTHEADER: $lastHeader\n"; foreach my $col (split(/\s+/, $lastHeader)) { # strip detail field names including surrounding []s $col=~s/\[.*\]// if $colnoinstFlag; + print "PUSH: $col\n"; push @headernames, $col; } } @@ -1740,14 +1742,16 @@ $datetime.=' ' if $options=~/m/; my $dtpad=' ' x length($datetime); - # write name of column over each set of hostnames, noting there's an - # extra column for hostname so we need to subtract one + # write name of column over each set of hostnames print $dtpad; for (my $i=0; $i<@columns; $i++) { for (my $j=0; $j<@hostnames; $j++) { - my $col=$columns[$i]-1; + # note that because of the way the header names are stored (which DO include + # a timestamp), we need to skip printing date/timestamps when -o not specified + my $col=($options=~/[TdD]/ || $plotFlag) ? $columns[$i]-1 : $columns[$i]; + if ($j==0) { printf " %-${colwidth}s", @headernames ? $headernames[$col] : '???'; @@ -1784,7 +1788,7 @@ print ' | ' if !$colnodetFlag; for (my $i=0; $i<@columns; $i++) { - my $col=(!$plotFlag) ? $columns[$i] : $columns[$i]-1; + my $col=($plotFlag || $options=~/[TdD]/) ? $columns[$i]-1 : $columns[$i]; printf " %${wider}s", @headernames ? $headernames[$col] : '???'; } } @@ -2338,7 +2342,7 @@ -keepalive secs pass this in the ssh command as '-o ServerAliveInterval=secs' to prevent ssh exiting early from an inactive ssh connection -retaddr addr tell collectl to connect back to this address. - use -deb 1 to see address collectl told to use + start with -deb 1 to see address collectl told to use -timeout secs use this timeout for remote collectl to connect back requires collectl V3.6.4 or better diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/collectl-4.0.0/formatit.ph new/collectl-4.0.2/formatit.ph --- old/collectl-4.0.0/formatit.ph 2015-03-10 20:52:21.000000000 +0100 +++ new/collectl-4.0.2/formatit.ph 2015-05-27 15:02:55.000000000 +0200 @@ -2489,7 +2489,7 @@ $buddyZone[$budIndex]=$fields[3]; $buddyNode[$budIndex]=~s/,$//; - for (my $i=0; $i<11; $i++) + for (my $i=0; $i<scalar(@fields)-4; $i++) { $buddyInfo[$budIndex][$i]=$fields[$i+4]; $buddyInfoTot[$i]+=$fields[$i+4]; @@ -2529,7 +2529,8 @@ $guest= fix($guestNow-$guestLast[$cpuIndex]); $guestN=fix($guestNNow-$guestNLast[$cpuIndex]); - $total=$user+$nice+$sys+$idle+$wait+$irq+$soft+$steal+$guest+$guestN; + # NOTE - guest times already included as part of user times + $total=$user+$nice+$sys+$idle+$wait+$irq+$soft+$steal; $total=100 if $options=~/n/; # when normalizing, this cancels '100*' $total=1 if !$total; # has seen to be 0 when interval=0; @@ -2544,10 +2545,10 @@ $guestP[$cpuIndex]= 100*$guest/$total; $guestNP[$cpuIndex]=100*$guestN/$total; + # guest times already part of user $totlP[$cpuIndex]=$userP[$cpuIndex]+$niceP[$cpuIndex]+ $sysP[$cpuIndex]+$irqP[$cpuIndex]+ - $softP[$cpuIndex]+$stealP[$cpuIndex]+ - $guestP[$cpuIndex]+$guestNP[$cpuIndex]; + $softP[$cpuIndex]+$stealP[$cpuIndex]; $userLast[$cpuIndex]= $userNow; $niceLast[$cpuIndex]= $niceNow; @@ -2604,8 +2605,7 @@ $guestNP[$cpuIndex]/=$cpusUsed; $totlP[$cpuIndex]=$userP[$cpuIndex]+$niceP[$cpuIndex]+ $sysP[$cpuIndex]+$irqP[$cpuIndex]+ - $softP[$cpuIndex]+$stealP[$cpuIndex]+ - $guestP[$cpuIndex]+$guestNP[$cpuIndex]; + $softP[$cpuIndex]+$stealP[$cpuIndex]; } } @@ -3347,9 +3347,11 @@ # Apply filters to summary totals, explicitly ignoring those we don't want if ($diskName!~/^dm-|^psv/ && ($dskFilt eq '' || $diskName!~/$dskFiltIgnore/)) { - # if some explicitly named to keep, keep only those BUT only if not a - # partition or else we end up double counting. - if ($diskName!~/\d$/ && ($dskFiltKeep eq '' || $diskName=~/$dskFiltKeep/)) + # if some disks explicitly named to keep, keep only those BUT only if + # not a partition or else we end up double counting. Note that we're + # doing a lookbehind to make sure not a cciss name like c0d0 which DOES + # look like a partition when in fact it's not. + if ($diskName!~/(?<!c\dd)\d$/ && ($dskFiltKeep eq '' || $diskName=~/$dskFiltKeep/)) { $dskReadTot+= $dskRead[$dskIndex]; $dskReadMrgTot+= $dskReadMrg[$dskIndex]; @@ -3812,7 +3814,7 @@ } } - elsif ($subsys=~/m/i && $type=~/^Buffers|^Cached|^Dirty|^Active|^Inactive|^AnonPages|^Mapped|^Slab:|^Committed_AS:|^Huge|^SUnreclaim|^Mloc/) + elsif ($subsys=~/m/i && $type=~/^Buffers|^Cached|^Dirty|^Active|^Inactive|^AnonPages|^Mapped|^Slab:|^Committed_AS:|^Huge|^SUnreclaim|^Mloc|^nr/) { $data=(split(/\s+/, $data))[0]; $memBuf=$data if $type=~/^Buf/; @@ -3829,6 +3831,7 @@ $memHugeFree=$data if $type=~/^HugePages_F/; $memHugeRsvd=$data if $type=~/^HugePages_R/; $memSUnreclaim=$data if $type=~/^SUnreclaim/; + $memShared=$data*4 if $type=~/^nr_shmem/; # These are 'changes' since last interval, both positive/negative # but we only want to do when last one in list seen. @@ -4157,7 +4160,7 @@ # at least for now, we're only worrying about totals on real network # first, always ignore those in ignore list - if (($netFilt eq '' && $netNameNow=~/^eth|^ib|^em|^p1p/) || + if (($netFilt eq '' && $netNameNow=~/^eth|^ib|^em|^en|^p\dp/) || ($netFiltKeep ne '' && $netNameNow=~/$netFiltKeep/) || ($netFiltIgnore ne '' && $netNameNow!~/$netFiltIgnore/)) { @@ -5847,7 +5850,7 @@ # skip idle CPUs if --cpuopts z specified. I'd rather check for idle==100% but some kernels don't # always increment counts and there are actually idle cpus with values of 0 here. next if $cpuOpts=~/z/ && $userP[$i]+$niceP[$i]+$sysP[$i]+$waitP[$i]+$irqP[$i]+ - $softP[$i]+$stealP[$i]+$guestP[$i]+$guestNP[$i]==0; + $softP[$i]+$stealP[$i]==0; # apply filters if specified next if (@cpuFiltKeep && !defined($cpuFiltKeep[$i])) || @@ -7579,7 +7582,7 @@ # if told to do so, remove some of the known/standard shells from the command string in cmd0; if ($procOpts=~/k/) { - if ($cmd0=~m[/bin/sh|/usr/bin/perl|/usr/bin/python|^python]) + if ($cmd0=~m[/bin/sh|/bin/bash|/usr/bin/perl|/usr/bin/python|^python]) { $cmd1=~s/^-\S+\s+//; # remove optional switch some shells have @@ -8238,7 +8241,7 @@ { $i=$NumCpus; $sysTot=$sysP[$i]+$irqP[$i]+$softP[$i]+$stealP[$i]; - $cpuTot=$userP[$i]+$niceP[$i]+$guestP[$i]+$guestNP[$i]+$sysTot; + $cpuTot=$userP[$i]+$niceP[$i]+$sysTot; $line.=sprintf("%3d %3d %5s %6s ", $cpuTot, $sysTot, cvt($intrpt/$intSecs,5), cvt($ctxt/$intSecs,6)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/collectl-4.0.0/initd/collectl-suse new/collectl-4.0.2/initd/collectl-suse --- old/collectl-4.0.0/initd/collectl-suse 2015-03-10 20:52:21.000000000 +0100 +++ new/collectl-4.0.2/initd/collectl-suse 2015-05-27 15:02:56.000000000 +0200 @@ -34,16 +34,13 @@ [ -r /etc/rc.status ] && . /etc/rc.status rc_reset -COLLECTL=/usr/sbin/collectl +COLLECTL=/usr/bin/collectl if [ ! -f $COLLECTL ]; then echo -n "Cannot find $COLLECTL" rc_status -s rc_exit fi -PATH=/bin:/usr/bin:/sbin:/usr/sbin -export PATH - # Just to make sure nothing is different when running 'collectl', we # won't use --check even though it's probably ok to use all the time. PNAME=collectl
