Поделиться через


Диагностика и мониторинг производительности для надежных субъектов

Среда выполнения Reliable Actors генерирует события EventSource и счетчики производительности. Эти данные предоставляют информацию о том, как работает среда выполнения, и помогают в устранении неполадок и мониторинге производительности.

События EventSource

Имя поставщика EventSource для среды выполнения Reliable Actors — Microsoft-ServiceFabric-Actors. События из этого источника событий отображаются в окне «События диагностики», когда прикладное приложение отлаживается в Visual Studio.

Примеры средств и технологий, которые помогают собирать и/или просматривать события EventSource: PerfView, Azure Diagnostics, семантическое ведение журнала и библиотека Microsoft TraceEvent.

Ключевые слова

Все события, принадлежащие Источнику событий Reliable Actors, связаны с одним или несколькими ключевыми словами. Это позволяет фильтровать собранные события. Определены следующие биты ключевых слов.

Бит Описание
0x1 Набор важных событий, которые суммируют работу системы Fabric Actors.
0x2 Набор событий, описывающих вызовы методов субъекта. Дополнительные сведения см. в вводной статье по актерам.
0x4 Набор событий, связанных с состоянием субъекта. Дополнительные сведения см. в разделе об управлении состоянием субъекта.
0x8 Набор событий, связанных с пошаговой многозадачностью в акторе. Дополнительные сведения см. в разделе о параллелизме.

Счетчики производительности

Среда выполнения Reliable Actors определяет следующие категории счетчиков производительности.

Категория Описание
Актер Service Fabric Счетчики, относящиеся к субъектам Azure Service Fabric, например время, затраченное на сохранение состояния субъекта
Метод актора Service Fabric Счетчики, характерные для методов, реализованных субъектами Service Fabric, например, как часто вызывается метод субъекта.

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

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

Имена экземпляров счетчиков производительности

Кластер с большим количеством служб субъектов или секций служб субъектов будет иметь большое количество экземпляров счетчиков производительности субъектов. Имена экземпляров счетчиков производительности помогают определить конкретный метод секции и субъекта (если применимо), с которым связан экземпляр счетчика производительности.

Категория акторов Service Fabric

Для категории Service Fabric Actor имена экземпляров счетчиков имеют следующий формат:

ServiceFabricPartitionID_ActorsRuntimeInternalID

ServiceFabricPartitionID — строковое представление идентификатора раздела Service Fabric, с которым связан экземпляр счетчика производительности. Идентификатор секции — это GUID, и его строковое представление создается с помощью Guid.ToString метода с описательом формата "D".

ActorRuntimeInternalID — это строковое представление 64-разрядного целого числа, созданного средой выполнения Fabric Actors для внутреннего использования. Это включается в имя экземпляра счетчика производительности, чтобы обеспечить его уникальность и избежать конфликтов с другими именами экземпляров счетчиков производительности. Пользователи не должны пытаться интерпретировать эту часть имени экземпляра счетчика производительности.

Ниже приведен пример имени экземпляра счетчика для счетчика, который принадлежит к Service Fabric Actor, категории.

2740af29-78aa-44bc-a20b-7e60fb783264_635650083799324046

В приведенном выше 2740af29-78aa-44bc-a20b-7e60fb783264 примере представляет строковое представление идентификатора секции Service Fabric и 635650083799324046 является 64-разрядным идентификатором, созданным для внутреннего использования среды выполнения.

Категория метода субъекта Service Fabric

Для категории Service Fabric Actor Method имена экземпляров счетчиков имеют следующий формат:

MethodName_ActorsRuntimeMethodId_ServiceFabricPartitionID_ActorsRuntimeInternalID

MethodName — это имя метода субъекта, с которым связан экземпляр счетчика производительности. Формат имени метода определяется на основе некоторой логики в среде выполнения Fabric Actors, которая балансирует удобочитаемость имени с ограничениями на максимальную длину имен экземпляров счетчиков производительности в Windows.

ActorsRuntimeMethodId — это строковое представление 32-разрядного целого числа, созданного средой выполнения Fabric Actors для внутреннего использования. Это включается в имя экземпляра счетчика производительности, чтобы обеспечить его уникальность и избежать конфликтов с другими именами экземпляров счетчиков производительности. Пользователи не должны пытаться интерпретировать эту часть имени экземпляра счетчика производительности.

ServiceFabricPartitionID — строковое представление идентификатора раздела Service Fabric, с которым связан экземпляр счетчика производительности. Идентификатор секции — это GUID, и его строковое представление создается с помощью Guid.ToString метода с описательом формата "D".

ActorRuntimeInternalID — это строковое представление 64-разрядного целого числа, созданного средой выполнения Fabric Actors для внутреннего использования. Это включается в имя экземпляра счетчика производительности, чтобы обеспечить его уникальность и избежать конфликтов с другими именами экземпляров счетчиков производительности. Пользователи не должны пытаться интерпретировать эту часть имени экземпляра счетчика производительности.

Ниже приведен пример имени экземпляра счетчика для счетчика, который принадлежит к Service Fabric Actor Method, категории.

ivoicemailboxactor.leavemessageasync_2_89383d32-e57e-4a9b-a6ad-57c6792aa521_635650083804480486

В приведенном выше ivoicemailboxactor.leavemessageasync примере — это имя метода, 2 32-разрядный идентификатор, созданный для внутреннего использования среды выполнения, 89383d32-e57e-4a9b-a6ad-57c6792aa521 представляет собой строковое представление идентификатора секции Service Fabric и 635650083804480486 является 64-разрядным идентификатором, созданным для внутреннего использования среды выполнения.

Список событий и счетчиков производительности

События метода субъекта и счетчики производительности

Среда выполнения Reliable Actors выдает следующие события, связанные с методами актора.

Имя события Идентификатор события Уровень Ключевое слово Описание
ActorMethodStart 7 Многословный 0x2 Среда выполнения Actors выполняет вызов метода субъекта.
ActorMethodStop 8 Многословный 0x2 Метод субъекта завершил выполнение. То есть асинхронный вызов среды выполнения к методу субъекта вернулся, а задача, возвращенная методом субъекта, завершилась.
ActorMethodThrewException 9 Предупреждение 0x3 Исключение было создано во время выполнения метода субъекта во время асинхронного вызова среды выполнения к методу субъекта или во время выполнения задачи, возвращаемой методом субъекта. Это событие указывает на некоторый сбой в коде актера, который нуждается в расследовании.

Среда выполнения Reliable Actors публикует следующие счетчики производительности, связанные с выполнением методов актора.

Название категории Имя счетчика Описание
Метод актора Service Fabric Вызовы в секунду Количество раз, когда метод службы актора вызывается в секунду
Метод актора Service Fabric Средние миллисекунды за вызов Время выполнения метода службы актора в миллисекундах
Метод актора Service Fabric Исключения в секунду Количество раз в секунду, когда метод актёрской службы вызвал исключение

События параллелизма и счетчики производительности

Среда выполнения Reliable Actors выдает следующие события, связанные с параллелизмом.

Имя события Идентификатор события Уровень Ключевое слово Описание
ВызовыМетодовАкторовОжидающиеБлокировки 12 Многословный 0x8 Это событие записывается в начале каждого нового хода для персонажа. Он содержит количество ожидающих вызовов актеров, ожидающих получения блокировки для каждого актера, которая обеспечивает конкурентность на основе очередности.

Среда выполнения Reliable Actors публикует следующие счетчики производительности, связанные с параллелизмом.

Название категории Имя счетчика Описание
Актер Service Fabric # вызовов акторов, ожидающих блокировку актора Число вызовов актора в очереди, ожидающих получения блокировки на уровне актора, которая обеспечивает пошаговую параллельность.
Актер Service Fabric Средние миллисекунды в ожидании блокировки Время, затраченное (в миллисекундах), чтобы получить блокировку для каждого субъекта, которая обеспечивает пошаговую конкурентность.
Актер Service Fabric Среднее время удержания блокировки актера в миллисекундах Время (в миллисекундах), в течение которого удерживается блокировка актором

События управления состоянием актора и счетчики производительности

Среда выполнения Reliable Actors вызывает следующие события, связанные с управлением состоянием актора.

Имя события Идентификатор события Уровень Ключевое слово Описание
ActorSaveStateStart 10 Многословный 0x4 Среда выполнения Actors будет сохранять состояние субъекта.
ActorSaveStateStop 11 Многословный 0x4 Время выполнения Actors завершило сохранение состояния актора.

Среда выполнения Reliable Actors публикует следующие счетчики производительности, связанные с управлением состоянием актора.

Название категории Имя счетчика Описание
Актер Service Fabric Среднее количество миллисекунд на операцию сохранения состояния Время, затраченное на сохранение состояния субъекта в миллисекундах
Актер Service Fabric Среднее количество миллисекунд на одну операцию изменения состояния загрузки Время загрузки состояния актора в миллисекундах

Среда выполнения Reliable Actors генерирует следующие события, связанные с репликами акторов.

Имя события Идентификатор события Уровень Ключевое слово Описание
ИзменениеРолиРепликиНаОсновную 1 Информационный 0x1 Реплика субъекта изменила роль на primary. Это означает, что субъекты для этого раздела будут созданы внутри этой реплики.
ReplicaChangeRoleFromPrimary 2 Информационный 0x1 Реплика субъекта изменила роль на не первичной. Это означает, что акторы для этого раздела перестанут создаваться внутри этой реплики. Новые запросы не будут доставлены актерам, уже созданным в этой реплике. Субъекты будут уничтожены после завершения всех выполняемых запросов.

События активации и деактивации субъектов и счетчики производительности

Среда выполнения Reliable Actors выдает следующие события, связанные с активацией и деактивацией актера.

Имя события Идентификатор события Уровень Ключевое слово Описание
АкторАктивирован 5 Информационный 0x1 Актёр активирован.
Актер деактивирован 6 Информационный 0x1 Актер был деактивирован.

Среда выполнения Reliable Actors публикует следующие счетчики производительности, связанные с активацией и деактивацией актора.

Название категории Имя счетчика Описание
Актер Service Fabric Среднее число миллисекунд для OnActivateAsync Время выполнения метода OnActivateAsync в миллисекундах

Счетчики производительности обработки запросов субъекта

Когда клиент вызывает метод с помощью прокси-объекта субъекта, он приводит к отправке сообщения запроса через сеть в службу субъектов. Служба обрабатывает сообщение запроса и отправляет ответ клиенту. Среда выполнения Reliable Actors публикует следующие счетчики производительности, связанные с обработкой запросов акторов.

Название категории Имя счетчика Описание
Актер Service Fabric Количество невыполненных запросов Количество обрабатываемых запросов в службе
Актер Service Fabric Среднее количество миллисекунд на запрос Время (в миллисекундах), затраченное службой на обработку запроса
Актер Service Fabric Среднее количество миллисекунд для десериализации запросов Время ожидания (в миллисекундах) для десериализации сообщения запроса субъекта при получении в службе
Актер Service Fabric Среднее количество миллисекунд для сериализации ответа Время (в миллисекундах) для сериализации сообщения ответа субъекта в службе до отправки ответа клиенту

Дальнейшие действия