[systemd-devel] [PATCH][RFC][V2] systemd-analyze: rewrite in C. (Was: systemd-analyze-197 broken)

David Strauss david at davidstrauss.net
Tue Jan 22 16:15:20 PST 2013


I was writing up a bunch of arguments in favor of DOT (now deleted
after reviewing the existing "analyze" output and how DOT would not be
good for achieving it). But, I'd really prefer moving the output to
something more semantic like callgrind [1] or HAR [2]. DOT is
certainly more semantic than SVG, but it's nowhere near callgrind and
HAR.

There are excellent utilities for rendering and browsing both
callgrind and HAR formats.

For callgrind, the utilities are so good that tools like XDebug for
PHP use it for profiling output just so developers can use tools like
KCacheGrind to browse the data. Seeing inclusive and exclusive times
is great for understanding the effect of dependencies. An online
tutorial [3] show some examples of browsing.

HAR files also have multiple viewers. Our system startup profiling for
achieving targets isn't really different from stages of rendering a
web page (which are things like HTML downloaded, initial rendering,
and completion of everything). Some online viewers [4] show examples.

[1] http://valgrind.org/docs/manual/cl-format.html
[2] http://www.softwareishard.com/blog/har-12-spec/
[3] http://freecadamusements.blogspot.com/2012/08/finding-bottleneck-using-kcachegrind.html
[4] http://www.softwareishard.com/blog/har-viewer/

--
David Strauss
   | david at davidstrauss.net
   | +1 512 577 5827 [mobile]


More information about the systemd-devel mailing list