-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 1.8 Date: Tue, 18 Aug 2015 20:47:00 -0700 Source: cpustat Binary: cpustat Architecture: source amd64 Version: 0.01.23-1 Distribution: unstable Urgency: medium Maintainer: Colin King <colin.king@canonical.com> Changed-By: Colin King <colin.king@canonical.com> Description: cpustat - periodic cpu utilization statistics Closes: 795914 Changes: cpustat (0.01.23-1) unstable; urgency=medium . * Makefile: bump version * debian/control: fix section field, set to admin * debian/control: fix architecture; change to linux-any * debian/copyright: fix upstream name field . cpustat (0.01.22-1) unstable; urgency=medium . * Prepare for inital upload to Debian: (Closes: #795914) * debian/copyright: update format field * debian/control: change email address * Makefile: bump version . cpustat (0.01.21-1) unstable; urgency=medium . * Makefile: bump version * Update debian/compat and control to version 9 and add Homepage * Update manual, rewrite some sections and add an extra example * Add README * Some minor tweaks for 80 char wide tty formatting * Remove debian/cpustat.install, not needed now * Make bindir /usr/sbin * Update year in debian/copyright * Re-work debian/control description text * Don't scale blocked and running * Scale proc stats by duration * Scale distribution of CPU utilisation per CPU appropriately . cpustat (0.01.20-1) unstable; urgency=medium . * Makefile: bump version * Remove double scaling by duration in stats . cpustat (0.01.19-1) unstable; urgency=medium . * Makefile: bump version * Minor fixes that got introduced over the past week: * Make proc_stat scanning more efficient and do only when -x selected * Add Author in comment block * Makefile: Add copyright and comment on some useful gcc options * Init cpu_info_t fields * Nullify sdl->sample_delta_item_list, re-arrange some fields * Add LIKELY/UNLIKELY optimisation hints * Optimise cpu_info_find, don't alloc comm field anymore * Use malloc instead of calloc since we fill all the fields in the structs * Pass cpu_stat info into cpu_stat_add and replace calloc with malloc * Hash on comm and pid rather than making up an ident * Optimise parsing in cpus_online * Avoid call to sample_add if not required * Fix theoretical overflow * Correct toctou on cmdline * Avoid division by zero on total_ticks * Ensure end of buffer is null terminated * Remove redundant d > 9 check, will never happen with a modulo 10 * Fix fd leak * Fix % output in banner now that we are not using printf * Use optimised string to integer parsing as this occurs frequently * Save ~2000 cycles per banner dump * Optimise load_average to not use sscanf(), saves ~200K cycles * Optimise /proc/$pid/stat parsing, saves ~500K cycles per iteration * Make pid hash table relatively large prime * Re-use old PIDs infos * More optimisations * Add some minor speed optimisations, saves a few million cycles * Add new tasks rate stat in -x option output * Add width specifier in scanf * Remove proc_stat alloca() * Remove alloca in cpu_distribution * Reduce scope of buffer * Make pid_info_hash_free static * Add more comments * Fix accuracy in ticks when accumulating ticks with interrupted select * Use uint64_t as clock ticks type * Break out of proc_stat parsing when we have all the necessary data * double_to_timeval: pass tv rather than return it. * Add more comments * Enhance distribution stats and expand manual * Pass nr_ticks rather than re-compute it * Minor correction in manual * Add caching to proc cmdline * Don't add to sorted list cpu_stats with zero total time * Reduce scope of buffer * Add more comments * Add alloca failure checks * Correct division in cpu freq computation * Add some /proc/stat stats with -x option * Correct the life time of the process stats in grand total * Add State (S), Processor and Time used stats * Minor re-formatting * Add -x option (extra CPU info) * Add -D distribution option * Add -g option . cpustat (0.01.18-1) unstable; urgency=medium . * Makefile: bump version * Fix memleak in cpu info cmdline * Forgot to add cpu info onto the hash table * Append sdls to the sample delta list rather than prepend them * Fix missing cpu list length increment * Make source 80 chars wide tty friendly * Re-arrange fields in structs for better alignment . cpustat (0.01.17-1) unstable; urgency=medium . * Makefile: bump version * Add -O2 for default optimisation level * free cmdline if it is not the same as comm field * Add some GCC optimisation hints * Reduce hash table size, reduced cache stalls * Re-use old cpu_stat_t via a free list * Re-organise lists, remove extra level of indirection * Use a hash on cpu_info's to do far faster lookup * Use a more efficient hash . cpustat (0.01.16-1) unstable; urgency=medium . * Makefile: bump version * Remove SIGILL, SIGABRT sighandling . cpustat (0.01.15-1) unstable; urgency=medium . * Makefile: bump version * Add copyright and a few more refs to manual * Minor tidyup and ensuring duration is sharp * Add a timestamp -S option * Handle time deltas more exactly, this is required if cpustat gets suspended * Fix whence so that we get real wall clock time in whence field * Remove commented out cruft . cpustat (0.01.14-1) unstable; urgency=medium . * Makefile: bump version * Cater for when cpustat is suspended by ^S and we need to play catch-up . cpustat (0.01.13-1) unstable; urgency=medium . * Makefile: bump version again * Install to /usr/sbin * Fix man page date and section . cpustat (0.01.12-1) unstable; urgency=medium . * Makefile: bump version * Update copyright year * Replace whence timeval with double, simplifies code * Add more accurate time keeping * Constify more func args * Wrap -h help info * Remove trapping SIGSEGV and SIGBUS * We don't need special privileges to read /proc/$pid/stat . cpustat (0.01.11-1) unstable; urgency=medium . * Makefile: bump version * Debian control: update standards version * Use inttypes for count and n_lines * Improve signal handling * Add in some whitespace for formatting * Improve error handling * Use suseconds_t for nsec conversions * Make total uint64_t * Add some more func comments * Ignore returns from close, fclose, etc * Use int64 types for stats . cpustat (0.01.10) unstable; urgency=medium . * Makefile: bump version * Add -p option * Add -T option to man page * Add -T total utilisation option * Add some more comments * Fix -Wall warnings * Add in flags to enable debian build flags * Fix spelling mistake . cpustat (0.01.09) unstable; urgency=medium . * Makefile: bump version * Make stats fields 1 char wider * Add the -a option . cpustat (0.01.08) unstable; urgency=low . * Makefile: bump version * constify some more func params * Show help and exit on invalid option * constify count_bits arg * Add overflow/underflow checking for count arg * Add overflow/underflow checking for -n option . cpustat (0.01.07) unstable; urgency=low . * Makefile: bump version * debian: add source/format file * debian: add watch file * debian: copyright: update License field * debian: control: update Standards-Version field * debian: control: update description field * Makefile: use new dist rules * Add COPYING file * Add extra cmdline information and options to select appropriate output . cpustat (0.01.06) unstable; urgency=low . * Bump version * Avoid any sscanf field overruns * Reduce scope of some variables * Update copyright year . cpustat (0.01.05) unstable; urgency=low . * Makefile: bump version * cpustat: dump out %user and %system times too * cpustat: check return from fscanf() . cpustat (0.01.04) unstable; urgency=low . * Makefile: bump version again * debian/rules: add override_dh_auto_build rule * debian/copyright: update year * debian/control: fix cut-n-paste error * Makefile: add dist rule . cpustat (0.01.03) unstable; urgency=low . * Makefile: bump version * add version * cpustat.c: make threshold double * cpustat.c: small amount of code tidying up * cpustat.c: fix stats on SIGINT and missing first stats issue * cpustat.c: update copyright year * cpustat.c: minor formatting fix . cpustat (0.01.02) precise; urgency=low . * Tidy up lists * Add -i option . cpustat (0.01.01) precise; urgency=low . * Init lists . cpustat (0.01.00) precise; urgency=low . * Initial version Checksums-Sha1: 994162fce0285c787de332accc30132413c02038 1716 cpustat_0.01.23-1.dsc 05c1fbb2b7265c3772b47cd38b8abe4b004703ef 25050 cpustat_0.01.23.orig.tar.gz afe30bb06a2a1357e66efa3dd8f11699df00534a 4000 cpustat_0.01.23-1.debian.tar.xz b307adcd45326b492053eccf493b7be4e6eded2e 18408 cpustat_0.01.23-1_amd64.deb Checksums-Sha256: 1a825d4fcf564bf9d043ac3a6809ec966056c432fc1f65f1726733f5d0d1830e 1716 cpustat_0.01.23-1.dsc e2ebce6ae88f4998c4dd64380a580907b64502d4352dcf6176e75dabd1397249 25050 cpustat_0.01.23.orig.tar.gz 3ce9ee8404ce516c784f9e0b7708c7768a2a0da6467dddcf9cecf68426a86eea 4000 cpustat_0.01.23-1.debian.tar.xz b83a9a2fd779eafc419efce8ad203ff58289cbb002741aaefd43ed381e4bade7 18408 cpustat_0.01.23-1_amd64.deb Files: 041c652fe65cb5ede651d724bb5ddf5f 1716 admin optional cpustat_0.01.23-1.dsc 4f5058f7b58b5b296063450888861b29 25050 admin optional cpustat_0.01.23.orig.tar.gz 04cc085df1d3ad5bd8fe794358bdcce6 4000 admin optional cpustat_0.01.23-1.debian.tar.xz 75193d7c416b2b619dd4802e891a9a3b 18408 admin optional cpustat_0.01.23-1_amd64.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCAAGBQJV1Q58AAoJEHqwmdxYrXhZhbQQAIf29kODVqYbHRtdR9WE/5q8 SANubFouCqEby1ak2OxvW81Cs0NlQc8u98dHIJw56lCVR5OX8ibKno1KaZo0k8OF FoP7Ejyjkjai+2EV5ustsV2UgcjiNRixS/QFgFTtevgC5HDKKHf4e3PByPV25MpQ CJF5rDVqVls3mBYgLHqlYHr5hWKfzPuav/Rx7cOz3s8Diszwyb0THaPJsucqk02D D+wPSa5OO4Z7c4VNIEu+IW8WeTqd3I1Z75J7gchauvzitTt91Tzr5PbqgH6GnkRt tGajqaT/rfUV3qTcC/wSxegWKULPs6OAdWxPijzlOZpPKHD7tIU2qaopSIHLO6qG t045cTCyQHEYkDhd9rQAuiKyn574Sx3vM5wpadXVrqygoTVLKB/qpIvVqST0CC8Q bJ2Orn0F71by72CUYWJF9ysRyLzoqpobAkoONamhJmQi6rEGBQ32rpJznUv6ppoJ NAYBOu5pwIgNX+5z0Hlf5367LSbTG4bXG6KohfEDGRTppxciD2scPeXc9wyGSOfG 7pLaEdXRXWq6a0wt/sf+9BXUbFjdHofKLb5FU0nTOQP/CGLumkExapEw70OJhYWZ W1c9wEoLdDF2UResBO/iCuL2yEGVkAKv9YxtD1EgmV1FM7EwxqWWeHE/XcehpQBY HOo+TnK+XfrFxqH18VJ8 =kF7w -----END PGP SIGNATURE-----