Вышедший недавно релиз Sun Studio Express содержит интереснейший модуль D-Light для анализа приложений посредством DTrace. Проект еще юн и некоторые заявленные опции отсутствуют, но открывающиеся при использовании этого плагина возможности впечатляют. Запустив студию и выбрав Tools->D-Light Tool, в развернувшемся окне модуля выбираем Instruments - тут нам доступны Clock profiler, File System Activity, Read Write Monitor и инструменты для Java. Выбираем первые два, кликаем по Select Target и выбираем предложенное первым для примера архивирование tar'ом /usr/include.
Затем жмем
Start Recording и наблюдаем в Timeline графическую интерпретацию процесса за'tar'ивания:
Здесь с помощью мыши можно менять масштаб, двигаясь вперед и назад с помощью кнопок управления просмотреть детали (Call Stack, Timestamp, номер CPU и т.д.) для отдельного события на Timeline. Можно далее изучить сам скрипт DTrace (здесь он называется DTracelet), использующийся для данного примера. Данный эксперимент с
tar, как пишут создатели, явлется лишь примером, который однако демонстрирует открывающиеся для разработчиков широкие возможности для профилирования системы без какой-либо перекомпиляции и доступа к исходным текстам.
Пример с
tar не единственный, можно также детально изучить и работу java-приложения (Java2Demo.jar из jdk1.6.0).
Единственное, что меня огорчило, на моей 62 сборке Solaris Express студия после нескольких запусков D-Light зависла намертво - что-ж, отнесу это к сыроватости самой системы, ибо например редактор
gedit тоже падает при попытке включения external tools (я попытался было с помощью dtrace отследить, что ему не хватает, но после получения километрового листинга файлов, которые бы он хотел видеть, но отсутствующих в системе, решил забыть об этом

)