В этом примере статистическая информация состоит из
имени функции и количества вызовов, всё это хранится в массиве functions, отображением статистики занимается само исследуемое приложение.
Механизм сбора и отображения статистики
Что собирать
Потенциально, функция сборки статистики может для
каждого вызова сохранять следующие параметры:
Имя функции.
Имя модуля.
Имя модуля, из которого произошёл вызов.
Идентификатор текущего потока.Время вызова.
Дамп стека.
Состояние регистров процессора
и так далее.
В общем, уровень детализации может быть очень разным и
зависит от задачи.
Политика отображения
Два принципиально разных подхода:
Данные доступны в реальном времени (посредством
какого-нибудь GUI).
Данные доступны после завершения исследуемого
приложения (в файле на диске).
Оба подхода имеют свои плюсы и минусы: с точки зрения
получения данных, очевидно, что первый обладает всеми возможностями второго
(если уж данные отображаются, параллельно сохранять их в лог не проблема), а, с
точки зрения влияния на исследуемое приложение, второй может получиться гораздо
мягче, и в какой-то ситуации это может оказаться критичным. Кроме того, второй
подход может оказаться значительно проще в реализации.
ПРИМЕЧАНИЕ
Например, если данные можно в течение
всего времени выполнения хранить в памяти, а запись на диск сделать только в
самом конце (в DllMain). Или, чуть более интеллектуально, попытаться
записывать/передавать данные только в те моменты, когда исследуемое
приложение само обращается к диску.
|
Но, поскольку первый подход гораздо эффектнее
(real-time, on-line, и даже мультимедиа, если постараться, – все эти слова
можно обоснованно употребить в пресс-релизе :) ), далее рассматривается в
основном он.
Где хранить и как отображать статистику
Есть три варианта реализации «сбора и отображения»:
Данные хранятся и отображаются dll, внедрённой в
исследуемое приложение.
Данные хранятся dll, внедрённой в исследуемое
приложение, для отображения она пересылает их внешнему приложению.
Рекомендуем скачать другие рефераты по теме: конспект 5 класс, шпаргалки по физике.
Предыдущая страница реферата |
4
5
6
7
8
9
10
11
12
13
14 |
Следующая страница реферата