--- collectl-3.6.9.orig/debian/README.source +++ collectl-3.6.9/debian/README.source @@ -0,0 +1,6 @@ +This package uses quilt to manage patches to the upstream source code. Patches +are stored in the source package as diffs in debian/patches and applied during +the build. For detailed information please refer to the Debian quilt +documentation: + +/usr/share/doc/quilt/README.source --- collectl-3.6.9.orig/debian/changelog +++ collectl-3.6.9/debian/changelog @@ -0,0 +1,294 @@ +collectl (3.6.9-1) unstable; urgency=low + + * typo in network plot header loop resulted in infinite loop + * remove $int/secs from numa hit rate calc AND add more precision to its + output [thanks stig] + + -- Troy Heber Fri, 18 Oct 2013 08:55:57 -0600 + +collectl (3.6.8-1) unstable; urgency=low + + * new flag $exportComm must be set in gexpr/ganglia so that they won't + generate an error if run without -f or -A [thanks tom] + * new switch: --intfilt allows filtering of interrupts + * always log messages of type F/E to syslog in daemon mode even if -m is not + set [thanks again, tom] + * wasn't dealing correctly with missing whitespace after network name in + /proc/dev/net in initRecord() [thanks andy] + * updated init.d script for suse per the maintainer's instructions [thanks + tom] + * extra spaces were being printed in plot mode for tpc stats + * added entry to envrules.std to deal with intel Phi Co-Processor + * debian init.d script now does 'exit 1' if status reports 'not running' + * rawnetignore switch wasn't working correctly + * found/fixed some subtle problems with --procanalyze as well as some + cleanup + * need to ignore first sample after initializing summary arrays + * need to init summary hashes for thrutime and accumT because get uninit var + in print routine is only a single process entry + * found a typo in procAnalyze() to a $usecs which wasn't being used! + * added error check to make sure --procanalyze with -P requires -s + * added a little more debugging output for -d128 + * discovered dynamic disk/network detail names for interactive mode were not + being reported correctly. sounds a lot worse than it is because this is + typically not done very often nor are disks/networks very dynamic except + in large, virtualized environments such as clouds + * add to list of devices to exlude from network summary data: tap, dp and + nl, which are associated with openstack cinder. remember you can always + add more to that list with --netfilt + * $lastHour was never referenced and dayInit() called every time a log was + created so fix logic to update $lastHour correctly AND call initDay() one + time and do it before newLog() called. + * closed a couple of file handles that were left open and reportedly causing + some defunct processes with -sx. [thanks brian] + * fixed bug in lustre stats recording [thanks roland] + * clarified --showsubopts text about disk and network filters in that they + apply to both summary and detail data output + * fixed problem with --import and --stats + * --statsopt a didn't work because when changed some internal logic missed + changing a test of $timestampFlag to $timestampCounter[$rawPFlag] and so + now $timestampCount can be removed entirely + * clear $firstpass after 1st pass during playback + * make sure filename initialized before calling loadConfig so if there is an + error logsys() doesn't get an undefined var warning + * to be safe, remove any quotes on net/dsk filters in case included by + mistake in DaemonCommands string + * tightened up tests to see if daemonized collectl already running + * if no hiRes::Time, fudge the value of $microInterval based on -i [thanks + Domi] + * new --procOpt k, removes known shells from process listing with -sZ, + currently set to /bin.sh, /usr/bin/perl, /usr/bin/python and python + + -- Troy Heber Wed, 16 Oct 2013 09:32:56 -0600 + +collectl (3.6.7-1) unstable; urgency=low + + * set network speed for vnets to '??' so they'll use $DefNetSpeed for bogus + checks since the kernel hardcodes then to 10 which makes no sense + * code to print brief totals for -st wasn't include in a conditional so + you'd always get extra columns of output when *st was NOT included + * needed to initialize numaMem->{lock} for cases where user selects -sM and + no data collected + * added randomize and align switches to graphite module and align switch + only to gexpr.ph since gexpr uses current times in messages + * added escape switch to graphite to allow one to change the dots in + hostname + * change to suse startup script to look in /usr/sbin instead of /usr/bin + * added debug mask of 16 to lexpr to help test x= switch + * can now use commas OR colons with lexpr,x= though commas preferred and + colons may go away + * added disk qlen, wait, svctime and util to lexpr + * it was pointed out that in getExec() I'm initializing $oneline instead of + $oneLine + * for debian init script, reverse logic for running start-stop-deamon with + *test so it will work with buxybox too + * new switch: --cpuopts z (the only option) which suppresses lines of idle + activity from detailed stats + * when purging imported detail plot data, only do so if file had changed + * when playing back multiple files, do NOT try to process a new file that + has not yet seen the end of the current interval ($timestampCound==1) + * fix SuSE init.d script + + -- Troy Heber Sat, 23 Mar 2013 11:35:31 -0600 + +collectl (3.6.5-1) unstable; urgency=low + + * was not updating new major/minor numbers for a disk when they changed so + got stuck in a loop which kept disk maj/min changed every interval + * new -r option to purge older .log files, def=12 months + * fixed DaemonCommands to preserver order so you can override anything by + adding on the right side of it + * new 'align' switch added to lexpr so default is NOT to align to whole min + * for -sE do not convert negative temperatures [thanks kevin] + * add error handling to 'print' in logmsg + * vmstat needs to set $sameColsFlag to make header pagination work with -p + * new graphite switch f, use fqdn for host [thanks Bryant] + * when lexpr called with x= it needs to set summary data flag in case + nothing else is being reported, otherwise timestamps print after the data + instead of before + * lexpr typos: $tcpError, $udpError and $icmpError should not be singular + * timestamp wasn't being updated for -sD because it was specified in + $dskdetFormat + * explicitly close logs before opening new ones in the hope that the + occasionally corrputed file problems with gunzip will go away + * tcp 'last' variables weren't correctly initialized and so was printing bad + data on first line of output + * modified lexpr, gexpr and graphite such that when i= is used, to align + sending on whole minute boundaries which is particularly useful with rrd + * merged snmp and tcp stats under -st and changed export routines to show + summary error counts for *st. removed snmp.ph from kit. summaries + (based on *-tcpfilt) as does brief format + * correctly deal with dynamic disks/networks instead of pulling names from + header, get them from raw file when discovered + * simplify code that deals with changed disks, now that more cleanly handled + * replace runtime calls to 'die' with calls to syslog + * readS was still left in INSTALL! [thanks gavin] + * added system boot time to header + * new values for procopts s/S to show process start times + * graphite.ph now prints loadavgs to 2 decimal places [thanks brandon] + * extended lexpr,x= functionality to also call an init routine + * initFormat now returns entire header! + * if nothing returned from an import module on a printVerbose or printPlot + call for detail data do not call printText() since it will screw up colmux + and plot detail file with empty lines + * new --rawdskignore AND --rawnetignore because sometimes easier to specify + a pattern of things to ignore + * removed restriction for running as root to get network speeds via ethtool + by looking in /sys/devices now + * slight change to way the disk queue depth is being calculated to provide + better accuracy [thanks ken] + * new --dskopts f reports disk details with some fractional values + * always calculate disk details even when only doing -sd since a plugin + might want to get at them + * new graphite switch b, will cause output to be prefaced by a specified + string [thanks justin] + * slight change to s= functionality for lexpr, gexpr and graphite: no + arguments will disable all but imported data, allowing you do log *s + data to files sending over socket + * need to give other routines (specifically --import) access to the lexpr + interval by declaring it with 'our' + * had to change the way lexpr/gexpr/graphite do min/max/avg since they were + using a positional index to track intermediate values when clearly a hash + is required for cases where not all intervals contain same elements + * -P and --plotflag had different effects on $headerRepeat because prior to + calling getopts I was peeking ahead for an ARG of *P and not including + --plo [thanks devilized] + * gexpr module has wrong units for network packets and with 'g' modes had to + multiply kb counts by 1024 to convert to bytes, which is the units for + these that ganglia uses [thanks, trevor] + * clean up handling of missing ipmitool and root access [thanks trevor] + * finally remembered to remove readS from the kit [thanks joseba] + * when filtering a process by the fill path with 'f', never include collectl + itself + * documented utime in manpage + * if -i0 set $DefNetSpeed to 0 so we don't throw any 'bogus' network speed + messages + * new switches, --rawdiskfilt and --rawnetfilt, allow one to filter + disks/nets at time of data collection so they never appear in raw file + * added call to IntervalEnd() (if it exists) for --import + * add option timeout to --address when connecting back to explicit address + * moved code that deal with fractional intervals and !HiRes closer to other + interval processing + * added 'strict' to snmp module as well as 'help' option: snmp,h + * fixed problems with --import + * if --import is used to generate detail data with -f and -P not + specified, collectl throws an error trying to close the detail log which + clearly hasn't been created + * when using interval other than the defaul AND -s-all, blank lines are + printed for standard intervals which don't have imported data. this + applied to brief, verbose AND detail data + * added some more systems to envrules: Proliant SL230/SL250 Gen 8 and + SE1170s + + -- Troy Heber Wed, 13 Feb 2013 10:49:47 -0700 + +collectl (3.6.3-1) unstable; urgency=low + + * New upstream release 3.6.3 + * finally remembered to remove readS from the kit + * when filtering a process by the fill path with 'f', never include collec + itself + * documented utime in manpage + * if -i0 set $DefNetSpeed to 0 so we don't throw any 'bogus' network speed + messages + * new switches, --rawdiskfilt and --rawnetfilt, allow one to filter + disks/nets at time of data collection so they never appear in raw file + * added call to IntervalEnd() (if it exists) for --import + * add option timeout to --address when connecting back to explicit address + * moved code that deal with fractional intervals and !HiRes closer to othe + interval processing + * added 'strict' to snmp module as well as 'help' option: snmp,h + * fixed problems with --import + * if --import is used to generate detail data with -f and -P not specifi + collectl throws an error trying to close the detail log which clearly + hasn't been created + * when using interval other than the defaul AND -s-all, blank lines are + printed for standard intervals which don't have imported data. this + applied to brief, verbose AND detail data + * added some more systems to envrules: Proliant SL230 /SL250 Gen 8 and SE1 + * fixed serious bug introduced a number of versions ago, which during + playback of multiple files and specifying date/time caused collectl to + continue reading first timestamp in each file and generating 'uninit + variable' errors. not harmful, but inefficient and ugly! + * added exit codes of 0/1 to all the exit points + * moved help text for --stats from basic to extended + * found $file=~/rawp/ near line 1440 clearing $1, $2 and $3 and so $prefix + $fileDate and $fileTime were not getting set correctly + * clarified 'No files processed' message to be a little more explicit + * broaden where collectl looks for lustre modules and also fixed a typo of + $lustops to $lustOpts + * procAnalize incorrectly totaling fault totals instead if interval values + * optimize new pid processing with --procfilt + * add new pids to pidSkip{} as appropriate + * undef pidSkip{} whenever pids wrap + * added hello.ph and graphite.ph to INSTALL + * was incorrectly setting DiskFilterFlag to 1 all the time, even when not + overridden in collectl.conf. while not a bug, it does cause a slight + increase in overhead + + + -- Troy Heber Thu, 24 May 2012 09:41:42 -0600 + +collectl (3.6.1-1) unstable; urgency=low + + * New upstream release 3.6.1 + * removed --ssh switch, making detecting the parent going away the default + behavior + * added switch --nohup which will allows collectl to continue running if + parent exits, which is more consistent with how *-nohup itself works + * in logmsg ONLY write to STDERR when attached to a terminal + * serious problem when using --tworaw and a flush interval < that for the + process data occurs because newer versions of zlib will fail if you try to + flush to a file that has not been updated. since I don't know which + version of zlib this started happening in and feel this is a relatively + rare case, we're just rejecting this combination regardless of zlib + version. I do have an email out to the zlib author and if I ever get to + the bottom of this will be ble to relax this restriction. + * use getimeofday() for timestamps in logmsg() + * enhanced timing parameters when -i0 used. if specified user 2nd/3rd + parameter as ratio to first making it possibily to measure loads of + different rations other than 1:6:30. + * discovered --import was missing from man pages and so added it + * when playing back a file, set $verboseFlag if user specified --verbose but + NEVER clear it + * experimental import: snmp, see http://collectl.sourceforge.net/Snmp.html + for details + * printf in record() blows up if formatting chars in command string! + [thanks mike] + * added accumulated time as a --top sort option + * changed formatting of accumulated time in process output to simply be + hh:mm:ss or mm::ss.ss when less than an hour to be more in line with top + * new swithes, --stats and --sumstats report stats in brief mode, the latter + only summary data + * during playback need to check $numProcessed before reporting none were + processed + * stats reporting logic wasn't processing 1st file, checking for + $numProcessed>1 + * removed -oA and replaced/extended functionality with --stats/--statopts + * wasn't allowing --procopts playing back process data unless -sZ which was + silly + * subtle problem found: illegal 'last' in pidNew() because file disappeared + between initial -e and trying to open it a few usecs later! can't exit a + sub via last so changed to return(0) + * our friends at OFED slightly changed the output of perfquery again [thanks + frederic] + + -- Troy Heber Mon, 05 Mar 2012 09:33:15 -0700 + +collectl (3.6.0-1) unstable; urgency=low + + * New upstream release 3.6.0 + * New subsystem: -sM. memory detail now shows numa info + * Bunch of new/updated switches: --dskopts, --netopts, --xopts, --extract + * Enhanced disk/network output filtering, allowing for exclusion of instance + names + * Added new sections to documentation + * Finally dropped support for 2.4 kernels + + -- Troy Heber Fri, 16 Dec 2011 10:09:43 -0700 + +collectl (3.5.1-1) unstable; urgency=low + + * Initial Release (Closes: #535233) + + -- Troy Heber Fri, 29 Jul 2011 09:18:23 -0600 --- collectl-3.6.9.orig/debian/compat +++ collectl-3.6.9/debian/compat @@ -0,0 +1 @@ +7 --- collectl-3.6.9.orig/debian/control +++ collectl-3.6.9/debian/control @@ -0,0 +1,24 @@ +Source: collectl +Section: admin +Priority: optional +Maintainer: Troy Heber +Build-Depends-Indep: debhelper (>= 7.0.50~), quilt (>= 0.40) +Standards-Version: 3.9.4.0 + +Package: collectl +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, pciutils, libtime-hires-perl, libio-compress-perl +Homepage: http://collectl.sourceforge.net +Description: Utility to collect Linux performance data + Collectl is a performance monitoring and benchmark tool that tries to do it + all. You can choose to monitor any of a broad set of subsystems which + currently include buddyinfo, cpu, disk, inodes, infiniband, lustre, memory, + network, nfs, processes, quadrics, slabs, sockets and tcp. + . + Output can also be saved in a rolling set of logs for later playback or + displayed interactively in a variety of formats. If all that isn't enough + there are additional mechanisms for supplying data to external tools by + generating output as s-expressions, a format of choice for some tools such as + supermon or in another format called list-expressions. This output can be + written to a file or sent over a socket. You can even create files in + space-separated format for plotting with external packages like gnuplot. --- collectl-3.6.9.orig/debian/copyright +++ collectl-3.6.9/debian/copyright @@ -0,0 +1,21 @@ +Format: http://dep.debian.net/deps/dep5/ +Upstream-Name: Collectl +Source: http://collectl.sourceforge.net/ + +Files: * +Copyright: 2003-2009 Hewlett-Packard Development Company, L.P. +License: GPL-2 or Artistic + +License: GPL-2 + On Debian systems, the complete text of the GNU General Public License can + be found in `/usr/share/common-licenses/GPL-2'. + +License: Artistic + On Debian systems, the complete text of the Artistic Public License can be + found in `/usr/share/common-licenses/Artistic' + +Files: debian/* +Copyright: 2011 Troy Heber +License: GPL-2 + On Debian systems, the complete text of the GNU General Public License can + be found in `/usr/share/common-licenses/GPL-2'. --- collectl-3.6.9.orig/debian/dirs +++ collectl-3.6.9/debian/dirs @@ -0,0 +1,2 @@ +usr/bin +usr/share/man/man1 --- collectl-3.6.9.orig/debian/docs +++ collectl-3.6.9/debian/docs @@ -0,0 +1 @@ +docs --- collectl-3.6.9.orig/debian/manpages +++ collectl-3.6.9/debian/manpages @@ -0,0 +1 @@ +man1/collectl.1 --- collectl-3.6.9.orig/debian/patches/01_INSTALL_DORDIR.patch +++ collectl-3.6.9/debian/patches/01_INSTALL_DORDIR.patch @@ -0,0 +1,12 @@ +diff -urpN collectl-3.5.1.ori//INSTALL collectl-3.5.1.new/INSTALL +--- collectl-3.5.1.ori//INSTALL 2011-05-27 08:43:26.000000000 -0600 ++++ collectl-3.5.1.new/INSTALL 2011-07-29 12:14:57.000000000 -0600 +@@ -3,7 +3,7 @@ + DESTDIR=${DESTDIR:="/"} + + BINDIR=$DESTDIR/usr/bin +-DOCDIR=$DESTDIR/usr/share/doc/collectl ++DOCDIR=$DESTDIR/usr/share/doc/collectl/html + SHRDIR=$DESTDIR/usr/share/collectl + MANDIR=$DESTDIR/usr/share/man/man1 + ETCDIR=$DESTDIR/etc --- collectl-3.6.9.orig/debian/patches/02_MAN_PAGE_ESCAPE_CHAR.patch +++ collectl-3.6.9/debian/patches/02_MAN_PAGE_ESCAPE_CHAR.patch @@ -0,0 +1,12 @@ +diff -urpN collectl-3.6.1.ori/man1/collectl.1 collectl-3.6.1/man1/collectl.1 +--- collectl-3.6.1.ori/man1/collectl.1 2012-02-20 06:31:27.000000000 -0700 ++++ collectl-3.6.1/man1/collectl.1 2012-03-05 10:36:12.795989105 -0700 +@@ -992,7 +992,7 @@ Multiple filters may be specified if sep + .br + c \- substring of the command being executed as explicitly read from /proc/pid/stat. + Note that this can actually be a perl expression, so if you want a command that ends +-in a particular string all you need to is append a \$ to the end of the string. ++in a particular string all you need to is append a \e$ to the end of the string. + Otherwise it would match any commands containing that string. + .br + C \- any command that starts with the specified string --- collectl-3.6.9.orig/debian/patches/series +++ collectl-3.6.9/debian/patches/series @@ -0,0 +1,3 @@ +# Series file +01_INSTALL_DORDIR.patch +02_MAN_PAGE_ESCAPE_CHAR.patch --- collectl-3.6.9.orig/debian/rules +++ collectl-3.6.9/debian/rules @@ -0,0 +1,17 @@ +#!/usr/bin/make -f + +# Uncomment this to turn on verbose mode. +export DH_VERBOSE=1 + +%: + dh --with quilt $@ + +override_dh_auto_install: + dh_auto_install + DESTDIR=$(CURDIR)/debian/collectl ./INSTALL + rm -f $(CURDIR)/debian/collectl/usr/share/doc/collectl/html/COPYING + mv $(CURDIR)/debian/collectl/etc/init.d/collectl $(CURDIR)/debian/collectl.init + +override_dh_auto_clean: + dh_auto_clean + rm -f $(CURDIR)/debian/collectl.init --- collectl-3.6.9.orig/debian/watch +++ collectl-3.6.9/debian/watch @@ -0,0 +1,3 @@ +version=3 + +http://sf.net/collectl/collectl-(.*)\.src\.tar\.gz