xrmx / bootchart

merge of bootchart-collector and pybootchartgui
GNU General Public License v2.0
233 stars 88 forks source link

Threads and events #42

Open dmullis opened 11 years ago

dmullis commented 11 years ago

This fixes a number of arithmetic bugs in the viewer, and extends functionality in various ways.

The two main extensions are:

  1. Overlaid plots of instantaneous events. These may be derived from various sources e.g. syslog.
  2. Process bars are joined by per-thread bars, useful for study of activity inside heavily multi-threaded processes e.g. Firefox. Requires matching extension of the collector.

I've rebased to as recent a commit on mainline as was possible with moderate effort.

Backward-compatibility with the bootchart.tgz format from standard distro collectors is preserved -- tested with Ubuntu.

xrmx commented 11 years ago

That's a big pull request! thanks for your work. Since github says "This pull request cannot be automatically merged." and you have done a lot of changes without much commit messages i have to review all the commits and cherry pick what's I understand / think it looks nice. Some changes looks like more a personal preference of yours than general issue, like changing default behaviour in 1869fd4d48f174d490abb151d067123f7eb966d0 . If there is a chance that you can pick the fixes for real issues in smaller batches in other pull request it'll be helpful. It'll take time to review all these stuff.

dmullis commented 11 years ago

With benefit of hindsight, the batch/interactive default behavior change in 1869fd4 was unnecessary -- a simple start-up wrapper in bash would have sufficed.

But that change points to a larger issue. You see, I needed to apply Bootchart to a wide variety of post-boot scenarios, and on fine time-scales. For such purposes, the 'batch' mode soon proved unhelpful, and in the later patches I dropped maintenance and testing of 'batch' mode altogether in favor of 'interactive'. You will also see many cosmetic changes, mostly forced by the new applications of the tool.

If you're unable to take more than cherry-picked bug fixes, a scan of the first 20-40 patches might find all the fixes you can use. I've already pushed all bug fixes proper as early in the stack as was practical (with the help of some quilt scripting).