Определение пользовательских служб

Материал из Документация Ключ-АСТРОМ
Версия от 08:43, 20 октября 2023; ENetrebin (обсуждение | вклад) (Новая страница: «Если ваши службы приложений не основаны на стандартных технологиях, они могут быть не ра...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

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

Ключ-АСТРОМ позволяет вам определить любой метод, класс или интерфейс в качестве точки входа в службу, подлежащую мониторингу.

Пользовательская служба — это служба, в которой в качестве точки входа используется определенный вручную метод, класс или интерфейс.

Вы можете определить собственные службы для Java, .NET и PHP. Каждая пользовательская служба может содержать несколько точек входа.

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

Диссоциированные транзакции

Если транзакции не связаны, то создание кастомной службы не поможет их связать. Пользовательская служба создаст новую точку входа.

Делегирование метода

ЕдиныйАгент понимает концепцию делегирования методов и записывает только первый вызов в цепочке делегирования. Например, если у вас есть несколько методов, вызывающих друг друга, вы можете безопасно пометить все эти методы как точки входа — случаи, когда один метод напрямую вызывает другой, записываются как отдельные запросы.

Подавление делегирования

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

Службы Java и .NET

Для Java и .NET вы можете использовать поиск для выбора точки входа и методов или указать их вручную. Чтобы создать новую пользовательскую службу Java или .NET:

Нахождение точки входа

  1. В меню Ключ-АСТРОМ выберите «Настройки» > «Обнаружение служб» > «Обнаружение специальных служб» .
  2. Выполните одно из следующих действий:
    • Java Откройте вкладку «Службы Java» и выберите «Определить службы Java» .
    • .NET Откройте вкладку «Службы .NET» и выберите «Определить службы .NET» .
  3. Дайте вашей службе осмысленное имя.
  4. Выберите «Найти точку входа» .
  5. Найдите и выберите группу процессов, содержащую вашу точку входа.
  6. Выберите процесс, содержащий вашу точку входа, и нажмите «Продолжить» .
  7. Найдите класс, который вы хотите инструментировать. Введите имя или часть имени, чтобы найти его.
  8. Выберите необходимый класс и нажмите «Продолжить» .
  9. Определите, как вы хотите инструментировать класс. У вас есть два варианта:
    • Используйте выбранный класс только для инструментирования методов выбранного класса.
    • Используйте реализованный интерфейс или суперкласс для инструментирования методов в любом интерфейсе или суперклассе в иерархии классов. В таких случаях выберите «Загрузить наследование» , чтобы загрузить все доступные суперклассы и интерфейсы, а затем выберите тот, который вам нужен.
  10. Выберите методы, которые вы хотите инструментировать, а затем нажмите «Готово» . На странице «Определение пользовательской службы» отображаются вновь добавленные точка входа и методы.
  11. При необходимости добавьте больше точек входа.
  12. При необходимости ограничьте новую пользовательскую службу определенными группами процессов. См. раздел «Ограничение пользовательской службы определенными группами процессов» ниже.
  13. Просмотрите точку входа и методы, которые необходимо инструментировать.
  14. В правом нижнем углу страницы выберите «Сохранить» .