Приложения Go компилируются непосредственно в машинный код ЦП. В Go отсутствует уровень абстрагирования виртуальной машины с определенными хуками мониторинга, такими как Java JVM или .NET CLR. Таким образом, Ключ-Астром ЕдиныйАгент работает на уровне инструкций ЦП для перехвата вызовов функций Go. Возможности параллельной обработки Go уникальны, и ЕдиныйАгент оптимизирован для исключения точек неявной синхронизации между Goroutines при захвате данных мониторинга.
Страницы обзора процессов и услуг, а также представления горячих точек и PurePaths предоставляют ценную информацию о деталях обработки ваших приложений Golang и могут помочь вовремя выявить критические проблемы. Профилировщик ЦП позволяет исследовать код, который выполняется вне контекста веб-запроса, например фоновые действия и планировщики.
Ключ-Астром ЕдиныйАгент может отличить код приложения, выполняемый в контексте PurePath (например, входящий веб-запрос), от кода, выполняемого в фоновом режиме. ЦП фонового потока и ЦП запросов на обслуживание отслеживаются отдельно. Например, посмотрите на снимок экрана ниже - пакет Go net / http порождает новую горутину для каждого входящего веб-запроса или соединения. Вот почему Goroutine, выполняющий функцию обработчика веб-запросов, помечен как служебный. Другие горутины, запущенные до обработки веб-запроса, также считаются частью выполнения службы и, следовательно, также помечаются. С другой стороны, обработка, выполняемая горутинами, у которых нет тега, связанного с сервисом, считается фоновой деятельностью.