Мониторинг и отслеживание экземпляров приложений рабочих процессов - PullRequest
1 голос
/ 20 июля 2011

Мы создали наш собственный хост рабочего процесса, который использует экземпляры приложения рабочего процесса.Сейчас мы работаем над мониторингом и отслеживанием, и, насколько мне известно, решением для обоих является использование TrackingParticipant.Я знаю, что есть много поддержки сервисов WF для мониторинга с использованием AppFabric, но не для приложения workflow.

Итак, мы решили создать TrackingParticipant, который запускает различные события, зависит от типа записи trackcking, и затем у нас есть 2 сервиса, которые подписаны на некоторые из событий.Эти 2 службы пишут в разные базы данных, используя сущностную структуру: MonitoringService (пользовательские таблицы в InstanceStore) и TrackingService (таблицы Framework?).

Производительность действительно важна для нас, потому что у нас может быть одновременно запущено много рабочих процессов (+10000).

Итак, мои вопросы: - Есть ли инструменты (событиеколлекция, ETW, ..), которая предлагает структуру, которую мы не используем, и может улучшить производительность?- Неправильно ли использовать EF в слежении за wf?

1 Ответ

2 голосов
/ 20 июля 2011

Существует EtwTrackingParticipant, который вы можете использовать для записи отслеживания в журнал событий Windows, который будет прекрасно работать с приложением WorkflowApplication.

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

...