Сервисы Custom Go

Материал из Dynatrace

Ключ-Астром ЕдиныйАгент не только обнаруживает веб-приложения на основе Go, но и обеспечивает полную видимость на уровне кода; он также предлагает поддержку частных сервисов для конкретных приложений. Благодаря настраиваемым службам вы можете отслеживать любую службу приложений Go, даже если Ключ-Астром не предоставляет для нее встроенную поддержку. Пользовательский сервис можно использовать для быстрого мониторинга функций в любом приложении Go.

Пользовательские услуги служат нескольким целям:

  • Видимость на уровне обслуживания компонентов для конкретных приложений.
  • Определение времени отклика. Это позволяет Ключ-Астром AI автоматически обнаруживать изменения времени отклика и определять их основную причину.
  • Обнаружение отказов и определение базового уровня. ИИ не только обнаруживает сбой пользовательской службы из-за ошибки; он также может определить основную причину и определить, влияет ли сбой на работу конечного пользователя.
  • Более глубокий обзор вашего приложения. Это дает вам сквозную трассировку на уровне запроса и горячие точки методов.

Приложение, для которого вы хотите определить настраиваемую службу, должно быть оснащено ЕдинымАгентом.

Создание пользовательских сервисов Go

Чтобы определить пользовательские сервисы Go

1. В меню Ключ-Астром выберите «Настройки» > «Обнаружение служб» > «Обнаружение пользовательских служб».

2. Перейдите на вкладку Службы Go и выберите Определить службы Go.

3. Введите собственное имя для службы, а затем выберите Найти точку входа.

4. Выберите группу процессов и процесс, содержащие точки входа, и нажмите Продолжить.

5. Выберите пакет или тип, который вы хотите использовать, и нажмите Продолжить.

6. Выберите одну или несколько функций в качестве точек входа для пользовательской услуги и нажмите кнопку Готово.

7. Выберите Сохранить изменения в правом нижнем углу, чтобы включить новый пользовательский сервис Go.

8. Перезапустите процесс goCron, чтобы Ключ-Астром ЕдиныйАгент мог использовать все точки входа, определенные в пользовательских сервисах Go.

Замыкания в Go

Замыкания — это анонимные функции, которым компилятор Go присваивает специальные имена.

Сгенерированные имена замыканий, определенные в области видимости, нумеруются в порядке их появления: func1, func2 и т. д. Например, замыкание в функции main получает метку func1:

package main
func main() {
    go func() {
        // ...
    }()
}