Сервисы Custom Go
Dynatrace OneAgent не только обнаруживает веб-приложения на основе Go, но и обеспечивает полную видимость на уровне кода; он также предлагает поддержку частных сервисов для конкретных приложений. Благодаря настраиваемым службам вы можете отслеживать любую службу приложений Go, даже если Dynatrace не предоставляет для нее встроенную поддержку. Пользовательский сервис можно использовать для быстрого мониторинга функций в любом приложении Go.
Пользовательские услуги служат нескольким целям:
- Видимость на уровне обслуживания компонентов для конкретных приложений.
- Определение времени отклика. Это позволяет Dynatrace AI автоматически обнаруживать изменения времени отклика и определять их основную причину.
- Обнаружение отказов и определение базового уровня. ИИ не только обнаруживает сбой пользовательской службы из-за ошибки; он также может определить основную причину и определить, влияет ли сбой на работу конечного пользователя.
- Более глубокий обзор вашего приложения. Это дает вам сквозную трассировку на уровне запроса и горячие точки методов.
Приложение, для которого вы хотите определить настраиваемую службу, должно быть оснащено OneAgent.
Создание пользовательских сервисов Go
Чтобы определить пользовательские сервисы Go
1. В меню Dynatrace выберите «Настройки» > «Обнаружение служб» > «Обнаружение пользовательских служб».
2. Перейдите на вкладку Службы Go и выберите Определить службы Go.
3. Введите собственное имя для службы, а затем выберите Найти точку входа.
4. Выберите группу процессов и процесс, содержащие точки входа, и нажмите Продолжить.
5. Выберите пакет или тип, который вы хотите использовать, и нажмите Продолжить.
6. Выберите одну или несколько функций в качестве точек входа для пользовательской услуги и нажмите кнопку Готово.
7. Выберите Сохранить изменения в правом нижнем углу, чтобы включить новый пользовательский сервис Go.
8. Перезапустите процесс goCron, чтобы Dynatrace OneAgent мог использовать все точки входа, определенные в пользовательских сервисах Go.
Замыкания в Go
Замыкания — это анонимные функции, которым компилятор Go присваивает специальные имена.
Сгенерированные имена замыканий, определенные в области видимости, нумеруются в порядке их появления: func1, func2 и т. д. Например, замыкание в функции main получает метку func1:
package main func main() { go func() { // ... }() }