Как использовать счетчики производительности для отслеживания пропускной способности приложения - PullRequest
1 голос
/ 13 октября 2009

Я пытаюсь использовать счетчики производительности c # для отслеживания пропускной способности приложения (фактически, службы Windows). Но у меня есть вопрос о том, как решить эту проблему ... Мое приложение анализирует XML-документы, и я хочу отслеживать, сколько документов анализируется за единицу времени. Я использую _counter.Increment () каждый раз, когда я анализирую документ, но это всегда дает мне общее количество проанализированных документов (плоский график). Я хотел бы сделать хорошие графики, где я мог бы установить интервал для выборки и получить счетчик в этом интервале.

Возможно ли это с помощью счетчиков производительности или я должен использовать другой подход?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 13 октября 2009

Если вы хотите увидеть количество предметов (например, в секунду), вам нужно использовать другой тип счетчика. Например:

PerformanceCounterType.RateOfCountsPerSecond32

Если вы увеличите это значение для каждого элемента, оно будет отображаться в Performance как количество в секунду, а не как общее количество (которое вы получаете с PerformanceCounterType.NumberOfItems32).

0 голосов
/ 13 октября 2009

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

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

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

0 голосов
/ 13 октября 2009

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

...