Средства разработки приложений


Отладочные действия - часть 3


В WindView представлены 3 уровня отладки:
  1. протоколирование переключения контекстов
  2. протоколирование состояний задач
  3. протоколирование статусов системных объектов.

3) Профилирование системы

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

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

Сбор данных запускается либо специальной высокоприоритетной задачей, либо посредством ISR (Interrupt Service Routine). Существует два уровня профилирования: профилирование задачи способом "процедура за процедурой" (procedure-by-procedure) и профилирование системы способом "задача за задачей" (task-by-task). Основные параметры профилирования: частота выборки (sample rate) - частота, с которой производится сбор данных; частота анализа (analysis rate) - частота, с которой производится анализ имеющихся в буфере выборок. Анализирующая процедура представляет собой низкоприоритетную задачу, которая подсчитывает среднее из значений для задач и функций из всех выборок буфера и значений, полученных в ходе предыдущего анализа.

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


Начало  Назад  Вперед



Книжный магазин