3. Средства мониторинга
3. Средства мониторинга
3.1. Архитектура средств мониторинга
Архитектура средств мониторинга в общем случае совпадает с архитектурой средств активной отладки, с той лишь разницей, что агенту отладки запрещено останавливать отлаживаемую задачу и модифицировать ее данные. Вообще, основное требование к средствам мониторинга — сбор данных с минимальным вмешательством в работу целевой системы. Для этого агенту отладки нужно как можно реже обращаться к менеджеру, то есть хранить полученные данные в некотором буфере и пересылать их по мере заполнения буфера. Кроме того, при пересылке данных можно производить их фильтрацию или сортировку в соответствие с некоторым критерием значимости.
При мониторинге агенту отладки не нужно поддерживать прямой связи с псевдо-агентами, так как псевдо-агенты могут посылать собранные данные в буфер, где они будут накапливаться вместе с остальными данными.
Рис. 4. Архитектура отладчика, осуществляющего мониторинг
Отладочные действия при мониторинге можно разделить на следующие категории:
• сбор данных;
• анализ данных;
• профилирование системы;
• «посмертный» анализ.
1) Сбор данных
Существует несколько способов сбора данных на целевой машине и передачи их менеджеру:
• Передавать данные на инструментальную сторону по мере их поступления.
Этот способ применяется при оперативной отладке.
• Передавать данные в случае заполнения буфера.
Обычный способ сбора данных при мониторинге.
• Сохранять данные на диске.
Таким способом можно получать данные для последующего анализа (конечно, лучше осуществлять сохранение данных с инструментальной машины, уже получив их).
Сбор данных может осуществляться однократно, циклически или непрерывно. При этом отладчик может совершать следующие действия:
• начать сбор данных (указывается способ сбора, буфер или имя файла, период сбора, время между циклами или время завершения);
• прервать сбор данных;
• запланировать начало и/или конец сбора данных по времени, получению сигнала или произошедшему событию.
Данные могут представлять собой как информацию о задаче (содержимое регистров, стека, и.т. д), так и информацию о системе в целом (протокол произошедших событий, протокол выделения памяти).
Один из способов протоколирования событий заключается в том, что на функции, исполнение которых приводит к некоторому событию, ставится специального вида точка прерывания (eventpoint). Такой подход позволяет пользователю определять собственные события (как это сделано в WindView — Wind River Systems, целевая система VxWorks).
Теперь рассмотрим технологию сбора данных на примере StethoScope (Wind River Systems, целевая система VxWorks). При сборе данных о функции используется механизм вставки исполняемого кода перед и после вызова отлаживаемой функции. Его суть в том, что пользователь может задать функции, вызовы которых будут предварять и завершать исполнение требуемой процедуры. Этот механизм используется и в служебных целях, например при трассировке задачи. Реализовать его можно так: на первую инструкцию отлаживаемой функции ставится точка прерывания, обрабатываемая особым образом, а именно:
a. ставится точка прерывания на точку возврата из отлаживаемой функции;
b. передается управление функции, которая должна быть вызвана перед отлаживаемой (если такая определена);
c. запускается выполнение отлаживаемой функции.
Затем при обработке второй точки прерывания вызывается функция, реализующая некоторый набор завершающих действий.
При сборе информации о динамическом выделении памяти можно использовать такой подход (RTILib — Real-Time Innovations, целевая система VxWorks). Заменить функции выделения и освобождения памяти (malloc, calloc, realloc, free) на соответствующие функции, выполняющие, помимо работы с памятью, некоторые отладочные действия, а именно: маркировку границ выделенного блока и последующий контроль за ее сохранностью (так можно фиксировать выход за границы), установку флага доступа к блоку (для запрещения/разрешения обращения к этому блоку), сбор статистики по использованию памяти, протоколирование информации по выделенным блокам.
2) Анализ данных
Нас интересует следующая классификация видов анализа:
• Анализ на инструментальной стороне.
Рассматриваемые средства отладки обеспечивают анализ не только данных, полученных во время текущего сеанса отладки, но и данных, полученных ранее и сохраненных на диске. Кроме того, при обработке данных фиксируется время их получения, а для событий — время, в которое они произошли.
• Анализ на целевой стороне.
Некоторые данные требуют анализа на целевой стороне. Например, контроль работы задач с динамически выделенной памятью. В этом случае при обращению к адресу в памяти происходит проверка на принадлежность его к какому-либо блоку и возможность доступа. Чтобы избежать проблем с динамическим выделением памяти и ускорить доступ к ней, StethoScope предоставляет возможность создания пула из некоторого числа буферов одинакового размера. Тогда, используя соответствующие функции доступа к этому пулу, можно осуществлять быстрый захват и освобождение его буферов.
• Распределенный анализ.
При передаче данных на инструментальную сторону отладчик может производить их предварительный анализ — фильтрацию. Фильтрация представляет собой отбор данных в соответствии с некоторым заданным шаблоном (фильтром). Например, можно рассматривать события только некоторых определенных типов (переключение контекста, запуск задачи, и.т. д) или сравнивать полученные данные с некоторой маской значений. Фильтрация данных нужна, чтобы уменьшить вмешательство в работу целевой системы, то есть можно разбить отладку на несколько уровней: от минимального (исследование событий одного вида, например, переключение контекстов) до максимального (получение подробной информации о каждом событии в системе и данных о выполняемых задачах). В WindView представлены 3 уровня отладки:
a. протоколирование переключения контекстов
b. протоколирование состояний задач
c. протоколирование статусов системных объектов.
3) Профилирование системы
Под профилированием понимается один из способов мониторинга, позволяющий следить за выполнением некоторого множества задач (или всей системы) и предоставляющий пользователю информацию о том, как конкретная задача использует процессор (включая распределение времени в задаче).
Профилирование заключается в том, что с некоторой частотой производятся выборки данных об активных в этот промежуток времени задачах. При детальном профилировании собираются данные о каждой функции (количество ее вызовов, время выполнения). Приведем описание модуля ScopeProfile, входящего в StethoScope и представляющего собой типичный образец агента профилирования.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
3.1. Архитектура средств мониторинга
3.1. Архитектура средств мониторинга Архитектура средств мониторинга в общем случае совпадает с архитектурой средств активной отладки, с той лишь разницей, что агенту отладки запрещено останавливать отлаживаемую задачу и модифицировать ее данные. Вообще, основное
Инструменты автоматизации мониторинга изменений на сайтах
Инструменты автоматизации мониторинга изменений на сайтах Как мы уже неоднократно говорили, найти сайт – источник информации – не самая большая проблема. Сложнее сделать так, чтобы автоматически узнавать об изменениях на нем. Рассмотрим, как эта проблема решается.Итак,
Средства общения
Средства общения На данный момент существует несколько систем, в той или иной степени обеспечивающих эффект присутствия собеседника. В первую очередь к ним относятся следующие.– Общение через веб-интерфейс. К этой категории относятся чаты, форумы, гостевые книги и пр.).
Сетевые средства
Сетевые средства Комплексная автоматизацияВ сети Internet существует множество сервисов, предназначенных как для проверки web-сайтов, так и для их рекламирования различными методами. Есть специализированные службы, применяемые для анализа какого-либо одного аспекта работы
Легкость мониторинга и исследования эффективности коммуникации
Легкость мониторинга и исследования эффективности коммуникации Интернет устроен таким образом, что буквально «каждый чих» пользователя фиксируется. В результате все действия, поведение в целом и даже мотивы действий пользователей можно довольно легко изучить.В
Средства мониторинга
Средства мониторинга Планируется введение ряда так называемых виртуальных таблиц, которые будут предоставлять пользователю или администратору доступ к внутренней информации сервера (подобный подход использован в InterBase 7.0).Код. реализующий данные функциональные
8.3. Подручные средства
8.3. Подручные средства Программы для борьбы с нежелательными почтовыми сообщениями, ориентированные на конечного пользователя, могут быть реализованы в виде плагинов к известным почтовым клиентам или самостоятельных решений. Одни приложения позволяют удалять спам
Панели мониторинга тестов
Панели мониторинга тестов Нужно будет быстро обрабатывать и распространять большой объем данных, поэтому команда тестирования возьмет на себя создание специальных информационных панелей для метрик качества. Это позволит командам быстро получать высокоуровневые
2.2.8.1 Интерфейс мониторинга системы
2.2.8.1 Интерфейс мониторинга системы Во время инициализации сервера OnLine DS автоматически создается база данных SMI (System Monitoring Interface). Эта база содержит таблицы, которые позволяют получать следующую информацию о состоянии сервера: статус пользователей, ожидающих ресурсов баз
Пример 12-4. Использование команды xargs для мониторинга системного журнала
Пример 12-4. Использование команды xargs для мониторинга системного журнала #!/bin/bash# Создание временного файла мониторинга в текщем каталоге,# куда переписываются несколько последних строк из /var/log/messages.# Обратите внимание: если сценарий запускается обычным пользователем,# то
9.2 Средства
9.2 Средства Важно предусмотреть обеспечение задач документирования соответствующими и подходящими средствами.Инструментальные программные средства полезны для подготовки и контроля документации. Они могут быть применены для повышения эффективности многих процессов
ГЛАВА 16 АРХИТЕКТУРА МОНИТОРИНГА
ГЛАВА 16 АРХИТЕКТУРА МОНИТОРИНГА В дополнение к мониторингу вручную и возможностям анализа (см. главу 15) использование автоматических средств архитектуры мониторинга улучшит как качество, так и надежность деятельности по администрированию системы.В расширяемой
Каков оптимальный уровень мониторинга?
Каков оптимальный уровень мониторинга? Какой уровень трассировки следует включать? Ответ вырабатывается в результате компромисса, с учетом следующих факторов: уровня доверия к корректности ПО, насколько критичны потери эффективности, насколько серьезны последствия не
Компьютерная контрразведка или кто следит за нами… (программы обнаружения мониторинга ПК)
Компьютерная контрразведка или кто следит за нами… (программы обнаружения мониторинга ПК) Современная концепция создания компьютерных систем предполагает использование программных средств различного назначения в едином комплексе. К примеру, типовая система
Системы мониторинга работоспособности веб-сайта Ника Парамонова
Системы мониторинга работоспособности веб-сайта Ника Парамонова Опубликовано 01 июня 2010 года Мониторинг работоспособности сайта актуален для многих владельцев собственных проектов. Проверку доступности сервисов (HTTP, HTTPS, FTP, MySQL, PostgreSQL, POP3, SMTP, IMAP и