Bugs & Wishes
Calltree Skin V 0.9.1
Bug fix release.
- Fixed a packaging mistake. I should have used "make distcheck" earlier ;-)
- Runs with Valgrind V 1.9.6. Because of a skin API change, calltree previously did compile with V 1.9.6, but didn't run.
- Fixed failed assertion with --trace-jump=yes: Jumps can happen between different functions with long_jmp/C++ exceptions.
Calltree Skin V 0.9.0
- Compiles both with Valgrind 1.9.6 and current Valgrind CVS.
- Compile fixes for GCC 3.3.
- Added option --dump-instr=yes to include trace information on instruction level. This needs a new version of KCachegrind to be useful. Stay tuned!
- Added option --trace-jump=yes to include trace information for (conditional) jumps inside of a function.
Calltree Skin V 0.2.95.
- Fixed a dumb configure error of 0.2.94. Added some HTML documation.
Calltree Skin V 0.2.94.
- Some speedups and small bug fixes. Compiles with V 1.9.5.
- Real cost types are drawn in different colors in the graphic cost bars now. This is especially useful to see the partitioning of real costs in a virtual type.
- Cost type bars are shown in the treemaps.
- The flat profile shows call counts now. This allows for call count order.
- Cycle detection is switchable with a toolbar button. For GUI application, sometimes it's useful to switch cycle detection off, even if there are some visualization errors with recursive calls.
- New toolbar button to show "expanded" percentage costs. If this switch is off, all costs are shown relative to the total application cost (in call lists/source view). If switched on, the costs are relative to the function cost, thus "expanded".
- The treemap now shows a black hash pattern on areas where sub items are to small to draw.
Lot of optimisations allover.
Calltree Skin 0.2.93 for Valgrind 1.9.4
- Reordered event type order for better visualisation with KCachegrind 0.3b
- Small bug fixes
Calltree Skin 0.2.92 for Valgrind 1.9.4
- All bugs with multithreaded apps should be fixed now. Missing for version 0.99: Regression tests, docu, and performance :-)
Calltree Skin 0.2.91 for Valgrind 1.9.4
- Bugs with --fn-skip=xxx are fixed. For multithreaded apps, it only works with --dump-threads=yes for now.
Calltree Skin 0.2.90 for Valgrind 1.9.4
- This is the 2nd prerelease for the calltree rewrite. Warning: Bugs with multithreaded apps still not fixed! A lot of new command line options, and UserRequests.
Calltree Skin 0.2d for Valgrind 1.9.x
- Bug fix: Use 64 bit for cycle cost
Calltree Skin 0.3pre for Valgrind 1.9.x
- This is a prerelease of a rewritten calltree skin. Warning: Multithreading is buggy!
- This is a bugfix release. It's compiling both with KDE 3.0.x and KDE 3.1.x libraries.
- Compile fixes for KDE 3.0.x. Tested.
- Fix for loading of traces from other directories.
- Fix to always select a trace type.
Calltree Skin 0.2c for Valgrind 1.9.x
- A simple port of 0.2b to a independent skin (plugin) for Valgrind 1.9.x.
- No patching of valgrind sources required; a binary Valgrind installation is enough.
- Compiles with KDE 3.0.5.
- Recursive handling corrected: Cycle detection and handling.
- Internal cleanup: Cost types aren't hardcoded any more (config missing)
- Treemap widget: New Split Types (Recursive bisection, Columns, Rows) for more rectangular areas when there are many subitems.
Calltree Patch 0.2b for Valgrind 1.0.4
- Adjustments for Valgrind 1.0.4. Note: Valgrind 1.0.4 has a serious bugfix for debug info generated with GCC 3.x. This bugfix is very important the see the real function names in KCachegrind instead of 0x80xxxxxx.
- No compile warnings with GCC 3.x any more
- Now the "trigger:" line has the exact reason for a trace dump
- Compile fix for GCC 3.x and KDE 3.0.x
- Optional TreeMap shading added (for even nicer screenshots!)
- Minor GUI string fixes
- Terminology similar to GProf.
- Lot of What's this help added for all widgets in KCachegrind.
- Added to Info tab: 'List of loaded parts' with function info per trace part. This also allows hiding parts to get e.g. only Thread1 profile parts for a multithreaded application.
Graph rectangles are now optionally titled by name and cost, if available space allows this (see Screenshots!)
- Many visualisation options added for the TreeMap widget, all available by a context menu. Most important: A mode to get real cost size proportions ('Skip incorrect border')!
- Much improved automatic saving/loading of configuration and current program state options. Most options are stored on a profiled-command-basis. Quitting KCachegrind and starting it again with a trace of the same profiled program, gives you the same window layout and preselected funtion/group.
- Toolbar buttons for Reload Trace/Force Cachegrind Dump added for some interactive control of a running profile from the GUI.
- More distance information in the Coverage Tab.
- And much more...
Calltree Patch 0.2a for Valgrind 1.0.2
- Improved multi-thread support. There's much less slowdown for single threaded programs while allowing multi-threading.
- Option "--dump-threads=no|yes" added. Allows separate trace file generation per thread in multi-threaded programs. Default is one trace file for costs of all threads.
- Added documentation in README.calltree: All about usage, additional options, trace format extension, changelog, some benchmark results, and technical details on the patch.
KCachegrind 0.1d, Changes:
- Update fix for Source
- New config option: L1/L2 factor for CPU cycle estimation
- New config option: Drawing Mode for Graphs
- Able to load thread trace parts (produced by Calltree Patch 0.2 with multithreaded programs).
Calltree Patch 0.2 for Valgrind 1.0.2
- Version 0.2 supports multi-threaded programs now. Unfortunately there's some overhead (10%) even for single-threaded programs at the moment, and the version is possible not very stable. So use 0.1e if you don't need it. For thread traces, the filename has appended "-tid" for costs in thread tid.
Calltree Patch 0.1e for Valgrind 1.0.2
- Bugfix for Segfault with indirect jumps in client code
- Bugfix for correct dumping of inlined functions
Calltree Patch 0.1d for Valgrind 1.0.2
- Option --calltree=no to disable call-tracing. Needed to disable call-tree tracing for multithreaded programs, as that's not working at the moment. You get the original cachegrind behaviour (aside from compressed output).
- Option --compress-strings=no to disable string compression in trace dumps. This produces more human readable trace output.
- Atomic generation of trace part files. This is done by dumping to ".file" and renaming to "file" afterwards.
KCachegrind 0.1c, Changes:
- Should finally compile with KDE 3.0.x
- Some Docu fix (at least no more errors)
Calltree Patch 0.1c for Valgrind 1.0.1
- Failed assertions fixed (unmapping/CC type check)
- vg_annotate can now load the traces
KCachegrind 0.1b, Changes:
- New calculated event type: CPU Cycle Estimation, selected on startup.
- Distance column in Coverage lists: shows minimal stack frame distance to selected function.
- Should compile with GCC 3.x now
- Should compile with KDE 3.0.x now (Ships KWidgetAction)
- Small GUI fixes
- Searches recursively for source files now
- Some usefull tips of the day added
- German message translation
- Reads trace files produced by original Cachegrind and Cachgrind with Calltree patch 0.1b (No previous Calltree patches supported !).
Calltree Patch 0.1b for Valgrind 1.0.1
- Hopefully no malformed patch...
- Option --cachedumps= renamed to --dumps=
- Option --dumpat=function added to dump at function entry
- Immediate dump forcable with "touch cachegrind.cmd" in cwd of a running cachegrind (the program must be running, not sleep!)
- Creates traces with names 'cachegrind.out.pid.part'
- Writes compressed traces (70% smaller than original cachegrind)
Small fixes for braindead errors of first publication.
Initial unofficial publication of KCachegrind under GPL.