Технический анализ: новые возможности позволяют ИТ-персоналу точно оценивать производительность сетей
Будущей версии флагманской операционной системы корпорации Sun Microsystems - Solaris 10 - какое-то время предстоит оставаться самой функционально насыщенной. Одним из впечатляющих новых компонентов Solaris является DTrace, позволяющий разработчикам и системным администраторам увидеть работу ОС и запущенных под ее управлением приложений.
С помощью DTrace пользователи отслеживают информацию, такую как ввод-вывод данных (вверху), и могут использовать скрипты на D - C-подобном языке (внизу)
DTrace показывает администраторам ту же диагностическую информацию о системе, которую выдают уже существующие инструменты. Например, truss той же Sun. Но с помощью нового инструмента пользователи могут задавать еще и уровень детализации. Он предоставляет развернутую картину системных вызовов, вызовов функций, поступающих от приложений и инструкций, исполняемых запущенными программами. И все это DTrace делает динамически. Он не требует приостановки работы изучаемого приложения или модификации рассматриваемого кода.
В eWeek Labs испытали тестовую версию Solaris 10 и пришли к выводу, что в компаниях, использующих Solaris 10, DTrace позволит заниматься отладкой программ не только разработчикам, но и системным администраторам. Последние смогут анализировать производительность в условиях, близких к реальным. (Тестовую версию Solaris 10 для платформ SPARC и x86 можно свободно загрузить по адресу: www.sun.com/software/solaris/solarisexpress/get.html).
Продажи Solaris 10 должны начаться до конца года. Мы рекомендуем администраторам и разработчикам, особенно ориентирующимся на Solaris, изучить возможности DTrace.
Как же это работает?
Sun называет DTrace утилитой динамической трассировки, которая дает краткие ответы на произвольные вопросы. Пользователи формулируют эти вопросы на языке, получившем название языка D, что и отражено в названии продукта - DTrace. Язык D знаком очень многим, поскольку он базируется на языке Си и широко использует его синтаксис.
Sun создала прекрасное, весьма объемное, напоминающее по стилю учебник руководство по DTrace - его можно загрузить по адресу: www.sun.com/bigadmin/content/dtrace.
Сейчас DTrace не имеет интерфейса пользователя, но представители Sun выразили заинтересованность в его разработке. Однако DTrace решает столь широкий круг задач, что создать адекватный интерфейс будет очень непросто.
Взаимодействие с Dtrace происходит с помощью директив командной строки или D-скриптов, которые Sun называет рецептами. В руководство по продукту включено лишь несколько таких рецептов. Кроме того, небольшой сборник рецептов можно найти по ссылке, имеющейся на указанном выше сайте.
Команды или скрипты DTrace вызывают загружаемые модули ядра, именуемые провайдерами. Провайдеры могут создавать "места взятия проб" - точки, в которых снимаются показатели системы. Пока DTrace не начнет действовать, эти точки находятся в пассивном состоянии, что позволяет снизить нагрузку на систему. Гарантируется, что DTrace не нарушит функционирование систем, на которых запускается. Таким образом, данный инструмент хорошо подходит для использования в уже работающих приложениях.
Поскольку DTrace не требует изменения кода, с его помощью можно анализировать любые приложения, действующие под управлением Solaris 10. Он может анализировать работу приложений, созданных для более ранних версий Solaris, даже для Linux. Если разработчик сможет скомпилировать и запустить систему на Solaris 10 - а это применимо к большинству приложений под Linux или Unix, - то их можно будет оптимизировать, а затем перенести обратно на исходную платформу.
При работе в среде Linux можно воспользоваться инструментом отладки IBM Dynamic Probes. Соответствующая версия доступна по адресу: www-124.ibm.com/developerworks/oss/linux/projects/dprobes. Это средство, позволяющее производить динамическую отладку, несколько напоминает DTrace и заслуживает рассмотрения.
Основные же преимущества DTrace перед Dynamic Probes, по словам представителей Sun, заключаются в повышенных гарантиях стабильности систем, использовании более мощного языка и в том, что DTrace будет входить в стандартную поставку Solaris.
Со старшим аналитиком Джейсоном Бруксом можно связаться по адресу: jason_brooks@ziffdavis.com.