Журнал Системный Администратор, Декабрь 2007

Журнал Системный Администратор

Декабрь 2007

Цена: $4.5 US

  Подписаться

Зарегистриванные пользователи, пожалуйста следуйте этой ссылке


Дао DTrace

Евгений Ильин

Познай себя и познай своего врага.

Тогда в сотне битв ты не будешь знать поражения.

Сан дзу. Искусство войны

Снять гипс с «клиента» без «шума и пыли», можно, как известно, несколькими способами. Если говорить о трассировке, DTrace предлагает свой, элегантный метод добраться до бриллиантов, где бы они ни были спрятаны в системе.

Недавно я делал презентацию об открытых технологиях Sun Microsystems. Технологий было много и получалось, что обзор каждой должен занимать не более пяти минут, в том числе и рассказ о таком мощном средстве наблюдения за системой, каким является DTrace. Чтобы дать аудитории краткое и понятное представление об этом инструменте, я придумал, как мне кажется, удачную аналогию: «DTrace – рентген для операционной системы». Ведь как рентген может «заглянуть» внутрь живого организма, так и DTrace позволяет увидеть процессы, происходящие внутри операционной системы и пользовательских приложений. С помощью этой технологии можно получить исчерпывающую информацию о внутреннем состоянии приложения, причём сам процесс исследования для «пациента» абсолютно безопасен, так как он не оказывает никакого влияния на «жизнедеятельность» объекта исследования.

Правда, это не совсем полная аналогия, поскольку принципы работы DTrace и рентгеновского аппарата отличаются. DTrace получает информацию от многочисленных датчиков, что находятся в ядре, библиотеках и приложениях, которые срабатывают только в том случае, когда кто-то включил их в явном виде. Выключенные датчики не оказывают никакого влияния на производительность, и система в целом работает так, как будто их вообще нет. Весь секрет в том, что DTrace умеет динамически модифицировать объект исследования.

Пожалуй, можно провести еще одну параллель между DTrace и рентгеном. Для успешного рентгеновского исследования необходимо знание физиологии, анатомии и устройства рентгеновского оборудования. Аналогично и для эффективного использования DTrace необходимо понимание принципов работы операционной системы и устройства инструмента, который позволяет заглянуть внутрь работающей системы.

В этой статье пойдёт рассказ об архитектуре DTrace, её составляющих элементах и методологиях модификации системы. Для того чтобы приведённые примеры были понятны, представлено краткое описание языка программирования D, который предоставляет универсальный доступ ко всем возможностям DTrace.

Оставшая часть статьи доступна только подписчикам. Если вы желаете продолжить чтение этой статьи, то вам необходимо подписаться на эту статью или весь номер.

Подписаться на весь номер

Зарегистриванные пользователи, пожалуйста следуйте по этой ссылке