C # ASP.NET 2.0 Метрика Панель инструментов - PullRequest
1 голос
/ 04 января 2010

Я хочу создать некоторый тип класса метрик ASP.NET (C # 2.0), чтобы помочь отслеживать производительность рабочего веб-приложения. Я немного знаком с мониторингом работоспособности 2.0, и это не то, что я ищу (я так или иначе не думаю). Я предпочел бы иметь приборную панель, которая дает мне мгновенный снимок, а не журнал или список событий. Буду признателен за любые отзывы сообщества. Поэтому, даже если у вас нет конкретного ответа, не стесняйтесь добавлять свой вклад в какую-либо часть и не чувствуйте, что вам нужно вносить свой вклад в целом. Заранее спасибо!

Ниже приведены некоторые вещи, которые я хотел бы контролировать. Значения должны соответствовать конкретному приложению, а не IIS.

  1. Количество открытых сессий
  2. Хитов в час
  3. Самая старая сессия
  4. Объем выделенной памяти и использование
  5. ** Среднее время работы в каждой (или заданной) функции.
  6. Последнее исключение (обработано или не обработано)
  7. Использование полосы пропускания (возможно ли это даже на уровне приложений?)

** Для номера 5 я думал об использовании какого-то типа класса секундомера. Каждая функция, которую я хочу отслеживать, будет вызывать start / stop, когда она начинается и заканчивает свое выполнение. Однако это кажется мне ужасно безобразным. Есть ли способ сделать это без класса секундомера? Может ли что-то в классе Reflections помочь с этим?

Что-то подобное уже существует? Я сделал довольно много Google, но не могу найти именно то, что я ищу.

Можете ли вы порекомендовать другие метрики, на которые мне следует обратить внимание?

Ответы [ 3 ]

1 голос
/ 04 января 2010

Похоже, большая часть того, что вы ищете, может быть получена с помощью счетчиков производительности Windows. Вы можете прочитать их со страницы панели инструментов и отобразить их в HTML.

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

1 голос
/ 25 января 2011

Попробуйте продукт (услугу?) Под названием NewRelic . Я никоим образом не связан с ними, но их сервис действительно великолепен и имеет бесплатный уровень, который вы можете использовать для начала работы.

1 голос
/ 04 января 2010

Вы должны быть в состоянии прочитать счетчики производительности Windows, чтобы получить большую часть этой информации. Использование полосы пропускания сложно на уровне приложений. Я закончил тем, что встроил своего рода счетчик в свое приложение для отслеживания пропускной способности. Я уверен, что это можно сделать более эффективно, опустившись ниже в стеке, но мне все равно нужно что-то быстрое и грязное.

...