Помощь в написании студенческих работ
Антистрессовый сервис

Средства мониторинга системы

РефератПомощь в написанииУзнать стоимостьмоей работы

Один из способов протоколирования событий заключается в том, что на функции, исполнение которых приводит к некоторому событию, ставится специального вида точка прерывания (eventpoint). Такой подход позволяет пользователю определять собственные события (как это сделано в WindView — WindRiverSystems, целевая система VxWorks). При мониторинге агенту отладки не нужно поддерживать прямой связи… Читать ещё >

Средства мониторинга системы (реферат, курсовая, диплом, контрольная)

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

При мониторинге агенту отладки не нужно поддерживать прямой связи с псевдо-агентами, так как псевдо-агенты могут посылать собранные данные в буфер, где они будут накапливаться вместе с остальными данными.

Архитектура отладчика, осуществляющего мониторинг.

Рис. 5. Архитектура отладчика, осуществляющего мониторинг

Отладочные действия при мониторинге можно разделить на следующие категории:

  • * сбор данных;
  • * анализ данных;
  • * профилирование системы;
  • * «посмертный» анализ.

Сбор данных Существует несколько способов сбора данных на целевой машине и передачи их менеджеру:

  • * Передавать данные на инструментальную сторону по мере их поступления. Этот способ применяется при оперативной отладке.
  • * Передавать данные в случае заполнения буфера. Обычный способ сбора данных при мониторинге.
  • * Сохранять данные на диске.

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

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

  • * начать сбор данных (указывается способ сбора, буфер или имя файла, период сбора, время между циклами или время завершения);
  • * прервать сбор данных;
  • * запланировать начало и/или конец сбора данных по времени, получению сигнала или произошедшему событию.

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

Один из способов протоколирования событий заключается в том, что на функции, исполнение которых приводит к некоторому событию, ставится специального вида точка прерывания (eventpoint). Такой подход позволяет пользователю определять собственные события (как это сделано в WindView — WindRiverSystems, целевая система VxWorks).

Теперь рассмотрим технологию сбора данных на примере StethoScope (WindRiverSystems, целевая система VxWorks). При сборе данных о функции используется механизм вставки исполняемого кода перед и после вызова отлаживаемой функции. Его суть в том, что пользователь может задать функции, вызовы которых будут предварять и завершать исполнение требуемой процедуры. Этот механизм используется и в служебных целях, например при трассировке задачи. Реализовать его можно так: на первую инструкцию отлаживаемой функции ставится точка прерывания, обрабатываемая особым образом, а именно:

a. ставится точка прерывания на точку возврата из отлаживаемой функции;

b. b. передается управление функции, которая должна быть вызвана перед отлаживаемой (если такая определена);

c. c. запускается выполнение отлаживаемой функции.

Затем при обработке второй точки прерывания вызывается функция, реализующая некоторый набор завершающих действий.

При сборе информации о динамическом выделении памяти можно использовать такой подход (RTILib — Real-TimeInnovations, целевая система VxWorks). Заменить функции выделения и освобождения памяти (malloc, calloc, realloc, free) на соответствующие функции, выполняющие, помимо работы с памятью, некоторые отладочные действия, а именно: маркировку границ выделенного блока и последующий контроль за ее сохранностью (так можно фиксировать выход за границы), установку флага доступа к блоку (для запрещения/разрешения обращения к этому блоку), сбор статистики по использованию памяти, протоколирование информации по выделенным блокам.

Показать весь текст
Заполнить форму текущей работой