Разработчики: | |
Дата премьеры системы: | 2015/01/08 |
Отрасли: | Информационные технологии |
Технологии: | SaaS - Программное обеспечение как услуга, Средства разработки приложений |
Cloud Trace - инструмент диагностики приложений, запускаемых в облаке на платформе Google App Engine.
8 января Google объявила о начале опытной эксплуатации полнофункциональной бета-версии Cloud Trace. Продукт создан для содействия в оптимизации времени выполнения отдельных функций и выявления «узких» мест, сказывающихся на производительности работы приложений и систем.
Назначение
Назначение Google Cloud Trace - помощь в диагностике приложений, запускаемых в "облаке" на платформе Google App Engine. С помощью этого инструмента возможно решение проблем, связанных с выявлением недостаточной производительности приложений, обусловленных временными задержками на выполнение отдельных операций. Дмитрий Пенязь, OpenYard: Мы живем во времена бэби-бума на российском ИТ-рынке
Механизм Cloud Trace подключается к потокам инструкций, направляемых к облачным сервисам и ведет их трассировку. Он способен выявлять замедления в обработке запросов и откликов облачной системы. Получив подробный отчет о происходящем разработчик может локализовать "место" потерь времени и устранить проблему.
Cloud Trace напоминает Dynamic Tracing (DTrace) — инструментальный пакет для динамической трассировки и отладки ядра и приложений, используемых для Solaris и других Unix-систем. Изначально продукт разрабатывала Sun Microsystems, теперь он появился под Linux.
Технология Google Cloud Trace
Все замеры проводятся в реальном времени. Google Cloud Trace «прозванивает» процессы и накапливает статистику о времени их откликов. Анализ собранных данных помогает выявить участки с задержками или несвоевременным откликом. Размещая собранные данные на графике можно получить полную картину о задержках, происходящих при работе системы.
Сложность задачи в том, что падение производительности зачастую не проявляется явно. Разработчик не видит отказов если система в целом работает без сбоев, что не означает - проблемы не существует. Она может проявиться в результате действия косвенных факторов.
Cloud Trace раскладывает поток обращений к облачным функциям на составляющие, делая разбивку длиной около нескольких миллисекунд. Такое препарирование помогает разработчику понять, к какому элементу в облачной подсистеме направлено действующее обращение.
Инструмент умеет собирать запросы, отправляемые различными пользователями, что помогает выявить места возникновения интенсивных задержек и какова взаимосвязь с нарастанием числа пользователей.
Поиск решения - во внесении изменений в прикладную программу и сравнении задержек с использованием замеров Cloud Trace, сделанных до и после изменений. Итог: подбирается требуемая комбинация.
Использование Google Cloud Trace
Для работы с Cloud Trace потребуется консоль Google Developers Console. Подключив Cloud Trace к определенному приложению, его можно запускать в работу. Надстройка Cloud Trace достаточно «тонкая», поэтому ее добавление не оказывает сколь-нибудь существенного влияния на производительность.
Скриншот Google Developers Console, 2015
В Google отметили, что Cloud Trace на 16 января 2015 года может использоваться только для приложений, действующих на платформе App Engine или любой управляемой ВМ в инфраструктуре Google. О совместимости Cloud Trace с сервисами облачных вычислений Google Compute Engine (GCE) компания не сообщила.
Скриншот Google Cloud Trace, 2015
Следуя негласному регламенту, который можно выявить по предыдущим запускам облачных продуктов Google, можно ожидать, что через год служба Cloud Trace получит статус рабочего сервиса с полной технической поддержкой[1].
Подрядчики-лидеры по количеству проектов
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Распределение систем по количеству проектов, не включая партнерские решения
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Подрядчики-лидеры по количеству проектов
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Данные не найдены
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Данные не найдены
Распределение систем по количеству проектов, не включая партнерские решения
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)