Время жизни рабочего процесса IIS или AppDomain

У меня есть приложение ASP.NET, размещенное в IIS, и у меня отключена автоматическая переработка / отключение рабочего процесса. Я хотел бы иметь приблизительное представление о том, как долго приложение работает непрерывно, без повторной загрузки.

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

Возможно сторонние инструменты, которые контролируют процессы? Или информация из IIS в журнале событий?

Первоначально опубликовано на SO: https://stackoverflow.com/questions/1835469/lifetime-of-worker-process-or-appdomain

2 ответа

Решение

Я не знаю никакой информации о счетчике для AppDomain, но в perfmon вы можете получить Process -> Elapsed Time, который показывает, как долго работает пул приложений.

Я знаю, что вы сказали, что не хотите изменять какой-либо код, но если это вариант, вы можете просто зарегистрировать время запуска и идентификатор процесса в событии Application_Start вашего приложения asp.net. Тогда у вас есть и время выполнения приложения, и пул приложений, поскольку новый PID означает переработанный пул приложений.

Другие вопросы по тегам