Hello, Here is an experimental script that I wrote yesterday to generate a html flow graph using dtrace output. The links in the html output point to a URL with opengrok content so that studying the flow is easy. Have a look at mscgen3.html in the attachement and if the output interests you, go through rest of the mail. I am planning to have an automatic testing/profiling setup for my org. Thought of posting this across when still unencumbered. Once I start putting/enhancing this with the setup inside the org, I may not be able to post the details. The attachement contains the following files: [1] mscgen1.d: D script used to trace bash (bash is hardcoded). Used as "./mscgen1.d -p <PID of bash>" [2] mscgen.tcl: tcl script used to generate the html output. Used as "./mscgen.tcl" [3] mscgen.cfg: input parameters, output parameters & opengrok URL for [2] are to be configured here [4] mscgen.private.cfg: additional config parameters that mscgen.tcl uses internally [5] msc_style3.css: style sheet used for rendering [6] mscgen3.txt: output of the dtrace script on my system [7] mscgen3.html: html rendering of mscgen3.txt. External links point to opengrok URL. The < & > arrows in front of the functions point to the next & previous occurance of the functions. View mscgen3.html to have a glimpse of the output. To try it, execute dtrace and store its output. Set the parameters in [3] suitably and execute the script to get similar output. Better configurability to limit the modules/functions traced at a given point of time so that the number of activated probes are within meaningful limits, etc. Some possible enhancements for those who want to pick from here: auto generation & execution of D-scripts based on application specific probemodules, html generation can be enhanced to handle huge outputs by outputting multiple pages, an "analytics" package can be plugged in to derive statistics(module coverage, function coverage,...) and generate summary report. If memory profiling is done, the output can contain color coding to indicate unallocated memory, some more improvements on the navigation front,.... Python might be a better option due to its dictionary support, but I had other considerations. I am still experimenting with opengrok & dtrace and would welcome any suggestions... -Shiv -------------- next part -------------- A non-text attachment was scrubbed... Name: mscgen.tar.bz2 Type: application/x-bzip2 Size: 50530 bytes Desc: not available URL: <http://mail.opensolaris.org/pipermail/dtrace-discuss/attachments/20080526/d6593e70/attachment.bin>