Makefile: install manual page for endurance-extract-process-cgroups
[maemo-tools:sp-endurance.git] / changelog
1 sp-endurance (3.0.4), 23 Mar 2012:
2  * parse IO disk write stats from usage.csv to endurance report.
3
4 sp-endurance (3.0.3), 27 Feb 2012:
5  * proc2csv fixes for newer kernels (desktop Ubuntu):
6    - change ',' in proc files field contents to '/'
7    - increase proc file CSV line buffer size from 256 to 512,
8      otherwise long lines can get split
9  * support separate doc install path
10  * endurance_plot:
11    - Fix incorrect entries for short living processes in some histogram plots.
12    - 'Major page fault' graphs now split to several graphs for improved
13      readability. Graphs added for minor page faults.
14    - Added 'private dirty' memory graphs.
15    - Virtual memory size graph now split to several graphs for improved
16      readability.
17
18 sp-endurance (3.0.2), 27 Dec 2011:
19  * Harmattan 'sp-endurance-tests' package integration fix.
20
21 sp-endurance (3.0.1), 22 Dec 2011:
22  * endurance_plot:
23    - Rename '#smaps segments' plot to '#memory maps'.
24    - Split the kernel slab graph to count and changes graphs.
25    - Split the single ramzswap graph into three separate graphs:
26      1. Reads and writes in megabytes per round.
27      2. Memory usage: OrigDataSize, ComprDataSize, MemUsedTotal, ZeroPages,
28         GoodCompress and NoCompress.
29      3. Errors, if any (in most cases this graph will not be created).
30    - Fix wchan parsing /proc/pid/io data from usage.csv.
31    - Add backlight brightness information to battery graph.
32  * endurance_report.py:
33    - Do not warn about missing data for 'sp-noncached'.
34    - Add hardware information to the endurance report by parsing the
35      `component_version' file from the endurance data.
36    - Add battery information table.
37
38 sp-endurance (3.0), 9 Dec 2011:
39  * NOTE: this release introduces changes to the collected endurance data.
40    Post-processing tools are able to process both new and old formats.
41  * X support/dependency is optional in build, measuring and post-processing.
42  * save-incremental-endurance-stats:
43    - The `xmeminfo' utility is now optional, and the output from the tool is
44      now written to separate file (was previously appended to usage.csv). The
45      error messages from xmeminfo written to 'xmeminfo.log' (was 'xres.log').
46    - Disk usage output from `df' is now written to separate file (was
47      previously appended to usage.csv).
48    - Collect /sys/class/power_supply/ and /sys/class/backlight/ recursively.
49    - Large disk reads and writes filtered through `sp-noncached' utility to
50      avoid polluting kernel page cache with endurance data.
51  * proc2csv:
52    - Collect /proc/pid/wchan and /proc/pid/io.
53    - The '-t' testing flag is removed.
54  * endurance_report.py:
55    - Report Upstart respawned jobs.
56    - Disk space usage changes shown for all filesystems (instead of just / and
57      /tmp).
58  * syslog_parse.py:
59    - Now uses configuration file for matching interesting lines from syslog.
60      This utility now provides results in text format only.
61    - The Python API that this file exports was changed.
62  * endurance_plot:
63    - Graphs now categorized to 'process' and 'system' groups.
64    - New graphs: disk I/O graphs that show MB per round, ext4 filesystem
65      writes per round, process counts in different wait channels, process
66      counts in different non-sleep states, separate networking plots per
67      network interface, /dev/pvrsrvkm mapping count.
68    - Improvements to graphs: legends more readable, x-axis descriptions added
69      that show round number plus date and time.
70    - Switched to `pngcairo' gnuplot terminal.
71    - Command line switch '-j' added for executing some processing in parallel.
72  * recompress-endurance-measurements: New post-processing utility for
73    re-compressing endurance data that was compressed with lzop.
74
75 sp-endurance (2.3), 27 Oct 2011:
76  * extract-endurance-process-cgroups:
77    - New utility that can be used to extract process Cgroup information from
78      endurance data. Produces results in either text or HTML format.
79  * endurance_report.py:
80    - Parse the DSME rich-core data that we collect and report process crashes.
81    - Fix some endurance report creation failures with invalid/incomplete data.
82  * endurance_plot:
83    - New histogram plot `CPU time in state', that shows the distribution of
84      CPU frequencies.
85  * save-incremental-endurance-stats:
86    - Collect `/sys/devices/system/cpu' recursively.
87    - Collect `/sys/fs' recursively.
88    - Collect `/var/lib/upstart/jobs_respawned'.
89    - Collect `/proc/*/wchan'.
90    - Collect kernel ring buffer content with `dmesg' if no syslogs found.
91
92 sp-endurance (2.2.11), 20 Oct 2011:
93  * endurance_report.py:
94    - Report now shows changes in Cgroup memory usage. Additionally, for each
95      new process the Cgroup for the process is shown.
96  * endurance_plot:
97    - Small improvement in smaps data parsing performance.
98    - Heap and #smaps plots are now dynamically divided into several subplots
99      for improved readability.
100
101 sp-endurance (2.2.10), 6 Oct 2011:
102  * endurance_plot:
103    - Switch from ImageMagick to Netpbm for thumbnail generation. Improves
104      performance on ARM.
105    - Networking plots added.
106    - Exit with non-zero return value on error.
107    - Add support for XZ compressed smaps.cap.
108
109 sp-endurance (2.2.9), 7 Sep 2011:
110  * endurance_report.py: improve report generation speed.
111  * endurance_plot:
112    - Visualize collected Cgroup information.
113    - CPU utilization histogram added.
114
115 sp-endurance (2.2.8), 15 Aug 2011:
116  * Fix the sp-endurance-postproc debian packaging to depend on perl instead of
117    perl-base.
118
119 sp-endurance (2.2.7), 23 Jun 2011:
120  * save-incremental-endurance-stats:
121    - Collect /syspart recursively for Cgroup information.
122    - Collect ramzswap statistics.
123
124 sp-endurance (2.2.6), 20 Jun 2011:
125  * extract-endurance-process-smaps: fix bashisms, fix zero return value when
126    no processes matching the user given string is found.
127  * endurance_report.py: fix div-by-zero seen with incomplete smaps capture
128    file
129  * endurance_plot: new graphs, and several small fixes.
130
131 sp-endurance (2.2.5), 18 Apr 2011:
132  * save-incremental-endurance-stats:
133    - Collect /var/log/messages.
134    - Collect /proc/pagetypeinfo.
135    - If xprop or xmeminfo report a failure, give a warning about Xauthority
136      settings.
137
138 sp-endurance (2.2.4), 15 Apr 2011:
139   * endurance_report.py: fix disproportional graph visualization when using
140     browser zoom
141
142 sp-endurance (2.2.3), 14 Apr 2011:
143   * syslog_parse.py: fix kernel OOM message detection
144
145 sp-endurance (2.2.2), 7 Mar 2011:
146   * extract-endurance-process-smaps accepts a subset of snapshot dirs
147   * endurance_plot:
148     - Fixed cases where endurance_plot used gigabytes of memory.
149     - Battery information (bmestat) visualization.
150     - Compressed swap (ramzswap) visualization.
151
152 sp-endurance (2.2.1), 28 Feb 2011:
153   * replace support for obsolete memory limits in old Maemo releases
154     with hard-coded Linux kernel OOM limit (with dummy data output by
155     proc2csv for compatiblity to old sp-endurance-postproc versions).
156   * Replace the use of sysinfo-tool with sysinfoclient. 
157   * Do not pass arguments to echo(1), they are not portable. 
158   * Invoke df(1) with POSIX locale and "-k -P" for portability.
159   * Add battery information to endurance data snapshot. 
160
161 sp-endurance (2.2), 19 Jan 2011:
162   * endurance_report.py: fix IndexError with more than 4 network interfaces.
163
164 sp-endurance (2.1.9), 28 Dec 2010:
165   * save-incremental-endurance-stats: collect /proc/diskstats and
166     /proc/zoneinfo. 
167   * endurance_plot:
168     - New IO plots based on /proc/diskstats.
169     - Various small tweaks.
170
171 sp-endurance (2.1.8), 03 Dec 2010:
172   * New post-processing tool `endurance_plot'. 
173     - endurance_plot creates a large variety of (RAM, swap, CPU, X resource
174       usage, interrupt, context switch etc) graphs from sp-endurance collected
175       data for trend analysis.
176   * Get bootreason from sysinfo. 
177   * Fix proc2csv errors with long lines. 
178   * Fix unnecessary sysinfoclient output parsing. 
179
180 sp-endurance (2.1.7), 17 Nov 2010:
181   * Remove use of deprecated /proc/component_version and /proc/bootreason
182     interfaces. 
183
184 sp-endurance (2.1.6), 26 Oct 2010:
185   * endurance_report.py: track DRI2Drawable resource atom count changes.
186   * save-incremental-endurance-stats: provide default value for DISPLAY.
187
188 sp-endurance (2.1.5), 21 Oct 2010:
189   * xmeminfo: add support for new X resource types. This changes the CSV
190     output format produced by xmeminfo.
191   * xmeminfo: optionally report only specified atoms: add new parameter
192     -a/-atom.
193   * endurance_report.py: add support for new xmeminfo CSV format.
194   * Add dependency to sysinfo-tool to fix useless release identification in
195     usage.csv produced by save-incremental-endurance-stats. 
196
197 sp-endurance (2.1.4), 05 Oct 2010:
198   * endurance_report.py: report change from initial state - 
199
200 sp-endurance (2.1.3), 31 Aug 2010:
201   * endurance-mem-overview: take SwapCached into account.
202   * endurance_report.py: Improve the heuristics for selecting processes for
203     the 'Process memory usage' section:
204         i) Prune processes that do not use any CPU ticks.
205        ii) Include processes that used at least 0.5% of total CPU time during
206            the first and last round.
207
208 sp-endurance (2.1.2), 23 Aug 2010:
209   * Update save-incremental-endurance-stats for Harmattan. 
210
211 sp-endurance (2.1.1), 18 May 2010:
212   * Prominent notice about reboots in endurance reports. 
213
214 sp-endurance (2.1), 21 Apr 2010:
215   * Handle X client names with commas and df filesystem usage output
216     spanning multiple lines. 
217   * Store focused/topmost application name if use-case step description
218     is missing.  
219   * Improved heuristics for removing memove graphs for non-interesting
220     processes, with a fix for swap+dirty accounting and a new --show-all
221     option to get graphs for all processes.  
222
223 sp-endurance (2.0.3), 05 Mar 2010:
224   * Use "-a" option for ifconfig.  
225   * Correct swap/page in/out, interrupt and context switch counts,
226     they were 100x off. 
227
228 sp-endurance (2.0.2), 21 Jan 2010:
229   * Fix the post-processing exception when network interfaces are
230     active, but have no traffic.  
231   * Add CI test script.
232
233 sp-endurance (2.0.1), 12 Nov 2009:
234   * Do not mangle the last character in the process command line.
235   * Proper error handling in case low memory limits are missing from the data.
236
237 sp-endurance (2.0), 30 Oct 2009:
238   * "proc2csv" stores the whole process command line; this makes the data
239     format incompatible with older sp-endurance-postproc versions.
240     , NB#144586
241   * "endurance-mem-overview" takes swap into account and it's now possible
242     to specify the shown memory usage range. 
243   * Show X resource count differencies in addition to X resource memory usage
244     in the summary at the end. 
245   * Show network interface transfers graph in the beginning. 
246   * Add "extract-endurance-process-smaps" helper script. 
247   * Support Fremantle low memory limits scheme. 
248   * Update documentation
249
250 sp-endurance (1.24), 9 Jun 2009:
251   * Give more detailed X resource usage information and log use of unknown
252     X resources. Data format change is incompatible with previous
253     sp-endurance-postproc versions
254
255 sp-endurance (1.23), 9 Jun 2009:
256   * Fix harmless Coverity reported leak on error exit + set freed
257     namelist entries NULL in proc2csv. 
258
259 sp-endurance (1.22), 1 Jun 2009:
260   * Fix divide-by-zero error on identical (copied) data. 
261
262 sp-endurance (1.21), 19 May 2009:
263   * CPU/swap/interrups/context switch statistics added. 
264
265 sp-endurance (1.20), 5 May 2009:
266   * Fix endurance_report.py to work with Scratchbox Python v2.3.
267
268 sp-endurance (1.19), 28 Apr 2009:
269   * More statistics added. 
270   * : sp-endurance/syslog parser doesn't catch upstart reported
271     crash/restart messages
272   * : sp-endurance uses obsolete /etc/osso_software_version
273
274 sp-endurance (1.18), 16 Apr 2009:
275   * Add PSS and SWAP support to endurance_report.py
276
277 sp-endurance (1.17), 3 Mar 2009:
278   * Syslog parser now recognizes and reports D-BUS warnings about
279     applications having too wide signal matching rules. 
280
281 sp-endurance (1.16), 4 Dec 2008:
282   * The shared memory segment stats are now included in the main report
283     page. 
284
285 sp-endurance (1.15), 21 Aug 2008:
286   * Fixed a Lintian warning.
287
288 sp-endurance (1.14), 21 Aug 2008:
289   * Remove support for SleepAVG as newer kernels don't support it.
290
291 sp-endurance (1.13), 25 Jun 2008:
292   * The message output introduced by the fix in version 1.12 has been
293     tweaked slightly.
294
295 sp-endurance (1.12), 25 Jun 2008:
296   * Parse kernel BUG and onenand_wait issues. 
297
298 sp-endurance (1.11), 30 May 2008:
299   * Compatibility issue with older endurance data was fixed. Fixes:
300     NB#86013
301
302 sp-endurance (1.10), 30 Apr 2008:
303   * Support for adding use-case test descriptions has been implemented.
304
305 sp-endurance (1.9), 16 Apr 2008:
306   * Fixed broken detection of kernel OOM messages caused by change in
307     case. 
308
309 sp-endurance (1.8), 4 Apr 2008:
310   * Fixed endurance parsing failure when process smaps data had no
311     private dirty memory. 
312
313 sp-endurance (1.7), 1 Apr 2008:
314   * Fixed syslog rotation handling issue. 
315
316 sp-endurance (1.6), 22 Feb 2008:
317   * Fixed empty DSME files not being handled gracefully. 
318
319 sp-endurance (1.5), 20 Feb 2008:
320   * A rare warning message also triggered an exception in endurance
321     report script. 
322
323 sp-endurance (1.4), 14 Jan 2008:
324   * save-incremental-endurance-stats: argument handling robustness has
325     been improved. 
326
327 sp-endurance (1.3), 28 Nov 2007:
328   * save-incremental-endurance-stats: when sp_smaps_snapshot is
329     missing, produces (about) same data with few lines of shell
330   * parse-endurance-measurements: handle compressed smaps files
331   * endurance_report.py: show smaps private-dirty information
332     in application memory usage graphs
333   * update/fix README
334
335 sp-endurance (1.2), 6 Nov 2007:
336   * save-incremental-endurance-stats: save open file descriptors,
337     use proc2csv in permissive mode so that also non-root can get
338     data required in postprocessing. 
339   * endurance_report.py: link open-fds and smaps.cap files, include
340     SwapCached to system free and show swap change in summary,
341     show differences in process thread counts
342   * compress smaps.cap in save-incremental-endurance-stats and
343     handle that in endurance_report.py. 
344   * endurance_report.py: Fail more gracefully when encountering mixed-
345     version endurance data. 
346
347 sp-endurance (1.1.18), 2 Oct 2007:
348   * syslog_parse.py: handle syslog read failures gracefully.
349     Fix to 66123 got dates in Glib errors duplicated, fixed.
350
351 sp-endurance (1.1.17), 31 Aug 2007:
352   * Added a missing a comma in a dictionary declaration at
353     syslog_parse.py. 
354
355 sp-endurance (1.1.16), 12 Jul 2007:
356   * Include day to the errors parsed from syslog. 
357
358 sp-endurance (1.1.15), 12 Jul 2007:
359   * Parse bootup reason from syslog. 
360
361 sp-endurance (1.1.14), 24 May 2007:
362   * Parse kernel I/O errors from syslog
363
364 sp-endurance (1.1.13), 9 May 2007:
365   * Have complete license text in the source package instead of just
366     referring to system GPL-2 license file. Add copyright and license
367     information to manpages. 
368
369 sp-endurance (1.1.12), 3 May 2007:
370   * Sort resource usage tables according to changes, not total
371   * Fix to python exception in get_pid_usage_diffs()
372
373 sp-endurance (1.1.11), 26 Apr 2007:
374   * Ignore all resources (i.e. also private memory and FDs)
375     used by extra threads processes have. 
376   * Add endurance-mem-overview Awk script giving a quick memory usage
377     overview ASCII-graph from the endurance data which can be run on
378     the target device (as it doesn't need Python)
379
380 sp-endurance (1.1.10), 17 Apr 2007:
381   * List also changes in kernel threads and zombie processes
382   * Fold the script save-incremental-endurance-stats calls back
383   * Fix to new thread ignore code. 
384
385 sp-endurance (1.1.9), 16 Apr 2007:
386   * Do not ignore any processes, even my own
387   * Cope with missing SMAPS data in endurance_report.py. 
388
389 sp-endurance (1.1.8), 12 Apr 2007:
390   * Fix how threads are indentified for removal from memory usage graphs.
391
392 sp-endurance (1.1.7), 4 Apr 2007:
393   * Added manual pages for all the tools and include README to postproc
394     binary package. 
395
396 sp-endurance (1.1.6), 13 Mar 2007:
397   * endurance script now parses amount of dirty code pages from smaps
398     data (which indicates incorrectly compiled libraries) and there's
399     a separate sum-dirty-code-pages script for doing the same on the device
400
401 sp-endurance (1.1.5), 1 Mar 2007:
402   * syslog_parse.py: Check each syslog line for all recognized messages
403     in case device boots in middle of line and check SysRq messages
404   * endurance_report.py: Do not show bars for repeating process memory
405     values and sort processes better, cleanup SMAPS parsing
406   * *.sh: Remove file name extension to make Lintian happy
407   * Add sum-smaps-private and split-endurance-measurements scripts
408   * sp-smaps-measure is now also optional
409   * Prepare for Open Source release, add proper copyrights etc
410
411 sp-endurance (1.1.4), 8 Feb 2007:
412   * Parse private/dirty values from SMAPS data myself instead of relying
413     on sp-smaps-visualize as it was way too slow
414   * Add several options to parse-endurance-measurements.sh for controlling
415     which measurements are parsed, whether to call sp-smaps-visualize and
416     whether to split reports at reboots
417   * Further improvements to the memory usage graphs
418
419 sp-endurance (1.1.3), 28 Nov 2006:
420   * Ignore immediately repeated errors in error counts
421   * Fix error message that gave Python exeption
422   * Show FS usage instead of free (as the table title says)
423   * Major improvements and fixes to process memory usage graphs
424   * Use tables for colorbars instead of images so that
425     the HTML can be attached to mails or bugzilla
426
427 sp-endurance (1.1.2), 20 Dec 2006:
428   * Fix another bug in case syslogs didn't have any errors
429   * Parse Glib ERRORs + kernel OOMs and alloc denials from syslog
430   * Add contents list to error HTML file
431   * Don't remove SMAPS diff file
432
433 sp-endurance (1.1.1), 28 Nov 2006:
434   * Fix bug in case syslogs didn't have any errors
435
436 sp-endurance (1.1), 24 Nov 2006:
437   * Packaging:
438     - devel package, postproc is "Architecture: all" + relevant rules fixes
439   * Measurements:
440     - compress whole syslog and remove syslog grepping
441     - save the measurement files in to separate directories
442     - proc2csv parses also /proc/vmstat
443     - add /sbin/ifconfig and interrupts/slabinfo/stat files from /proc
444     - save DSME statistics
445   * Syslog errors postprocessing:
446     - separated syslog parsing to separate syslog_parse.py file so that
447       it can be used also standalone
448     - parse normal/separate syslog files instead of CSV endurance file
449     - add support for gzipped syslog files
450     - separate different types of DSME and Glib errors
451     - parse and count kernel Oopses, reboots, DSP errors and
452       connectivity errors&warnings from syslogs
453     - support both HTML and ASCII output
454     - parsing debug option
455     - error summary
456     - fix bug in syslog parsing with appended syslogs
457   * SMAPS data parsing:
458     - Don't redo SMAPS CSV files if they already exist
459   * Other endurance data postprocessing:
460     - rename endurance-report.py to endurance_report.py
461     - always print error message before failing exit
462     - arguments are directories instead of file names
463     - syslog data is now parsed from file separate from the CSV file
464       and parsing put the separate file (see above)
465     - output disk free changes (for '/' and '/tmp')
466     - show whole device /proc/sys/fs/file-nr changes
467     - output also X resource usage decreases
468     - save errors to separate HTML pages
469     - output statistics and summary of different error types
470     - output summary of disk/memory/X resource/FD usage changes
471     - add process changed/total counts with started/exited processes
472       listed side by side
473     - remove "sleep" from all the lists
474     - color code tables containing different data
475     - add change totals to all tables
476     - HTML comment summary of all statistics for maturity metrics
477     - parse process statistics from /proc/PID/status files
478     - add bars of RSS memory changes per process (for processes
479       which max. RSS usage changes between tests)
480     - add contents and otherwise fine-tune report output
481   * Documentation:
482     - Update README according to changes
483
484 sp-endurance (1.0-7), 14 Sep 2006:
485   * save also full syslog and /proc/slabinfo data
486   * shows the warnings from syslog although syslogs don't seem to match
487   * fix to Browser X client name idiocy
488
489 sp-endurance (1.0-6), 6 Jul 2006:
490   * fix bug in memory calculation introduced by last update
491
492 sp-endurance (1.0-5), 9 Jun 2006:
493   * I fixed a bug that didn't always handle correctly processes that exited when proc2csv was running
494   * now also takes the memory limits from /proc i.e. the bargraphs take now also swap into account
495
496 sp-endurance (1.0-4), 16 May 2006:
497   * With this you'll get again correct names in the report for
498     the maemo-launched binaries (smaps diff never before contained them,
499     but earlier my own script could map the names itself because earlier
500     diff file used real PIDs)
501
502 sp-endurance (1.0-3), 4 May 2006:
503   * Updated endurance parser to support the new smaps format 
504
505 sp-endurance (1.0-2), 4 May 2006:
506   * Updated package to include changes to path's in script
507   * Removed .svn dirs
508   * Improved README
509   * changelog
510   * debian/changelog
511
512 sp-endurance (1.0-1), 24 Mar 2006:
513   * Initial release