Регистрация обмена сообщениями процессом - PullRequest
1 голос
/ 11 августа 2009

В настоящее время у меня установлена ​​ОС, которая поддерживает такие механизмы ведения журналов, как syslog . Тем не менее, это утомительно, когда дело доходит до отладки процесса, т.е. выяснения, какие события или сообщения имеют определенный процесс, которым обмениваются с другими процессами в системе.

Может кто-нибудь предложить мне лучший механизм, чтобы сделать то же самое?

Ответы [ 2 ]

1 голос
/ 11 августа 2009

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

Все наши приложения записывают свою трассировку в свои собственные файлы журнала, и это не очень полезно для диагностики проблем. Таким образом, уровень трассировки также отправляет всю трассировку процессу сервера отладки, даже когда процесс отправляет или получает сообщение, эта информация отправляется на сервер отладки с уникальным идентификатором для сообщения. Это позволило серверу отладки объединить все сообщения и получить системное представление для каждой транзакции.

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

1 голос
/ 11 августа 2009

Я бы рекомендовал обернуть ваш механизм передачи сообщений какой-то абстракцией. Затем вы можете поместить диагностику в слой передачи сообщений. Я полагаю, что это какой-то шаблон дизайна. Создайте абстракцию, включающую соединители между процессами и сообщения , отправленные через соединители. Если абстракция вашего сообщения содержит идентификатор (например, GUID), то вы можете регистрировать сообщения, которые проходят через соединители, и легко следовать за ними через систему. Взгляните на C2 архитектурный стиль для некоторых идей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...