Google готовит к открытию систему трассировки XRay

8 мая 2016 года

Компания Google объявила о скором открытии исходных текстов проекта XRay (Архивная копия от 8 ноября 2020 на Wayback Machine), в рамках которого развивается система трассировки вызова функций в приложениях, активно используемая для отладки внутренних сервисов Google, таких как BigTable и движка контекстной рекламы. Система примечательна поддержкой динамической активации, позволяющей включать отладочный режим, создающий паразитную нагрузку, только при необходимости, в остальное время практически не создавая накладных расходов. Подобный подход позволяет использовать XRay для отладки высоконагруженных приложений в их естественной рабочей среде, где невозможно применение обычных систем отладки и профилирования.

Основу XRay составляют добавляемые во время компиляции точки перехвата и динамически загружаемая библиотека. В обычном режиме точки перехвата работают как пустые заглушки ("nop sleds"), а библиотека может включаться и выключаться на лету, во время работы приложения. При включении библиотеки заглушки заменяются на вызовы предоставляемых библиотекой обработчиков, выполняющих операции детализированной трассировки. Подлежащие трассировке функции помечаются в исходных текстах через добавление специальных аннотаций ("__attribute__(...)");

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

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Google готовит к открытию систему трассировки XRay», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.