Ознакомиться с ручным профилированием а-ля MiniProfiler?

Я изучаю инструменты профилирования времени выполнения для веб-приложения (WebForms).

Я рассмотрел MiniProfiler и Glimpse.

В MiniProfiler легко (фактически, это единственный способ?) Регистрировать сообщения профилирования:

var profiler = MiniProfiler.Current;
using (profiler.Step("Doing complex stuff"))
{
    using (profiler.Step("Step A"))
    { // something more interesting here
        Thread.Sleep(100);
    }
    using (profiler.Step("Step B"))
    { // and here
        Thread.Sleep(250);
    }
}

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

Я прочитал здесь, что Glimpse поддерживает System.Diagnostics.(Trace|Debug).Trace*() на своей вкладке «Трассировка», но показывает только моменты времени, но не похоже, профилируют вложенные области. Было бы неплохо иметь возможность отслеживать пользовательские данные более структурированным способом - например, на вкладке «Временная шкала».

Итак, вопрос в том, могу ли я (надеюсь, легко) получить структурированное, настраиваемое ведение журнала в стиле MiniProfiler в Glimpse?

PS. Я знаю, что есть расширение Glimpse для отображения данных MiniProfiler, но похоже, что оно заброшено.

PPS. Я был приятно удивлен, увидев, что Glimpse работает (почти) из коробки в моем проекте WebForms (в классическом конвейерном режиме IIS!). AFAIK, MiniProfiler не очень хорошо работает с этой конфигурацией, он смещен в сторону MVC.


person Cristian Diaconescu    schedule 19.12.2014    source источник
comment
какие-либо обновления в 2016 и получить какое-либо решение по этому поводу?   -  person PreguntonCojoneroCabrón    schedule 07.06.2016


Ответы (1)


К сожалению, Glimpse, начиная с версии 1.8.6 (основного пакета), не поддерживает это.

Технически вы могли бы легко написать расширение, которое делает это, но это такой распространенный запрос, что мы добавляем его в следующий выпуск. Фактически это уже задокументировано на http://getglimpse.com/Docs/Timeline-Tab.

Вы также можете просто взять код или GlimpseTimeline из нашего репозитория GitHub и заставить его работать в текущей версии в соответствии с вашими потребностями.

person nikmd23    schedule 19.12.2014
comment
Это замечательные новости! Какая версия будет в следующем выпуске? И где я могу подписаться, чтобы получать уведомления, когда он выйдет? Спасибо! - person Cristian Diaconescu; 21.12.2014
comment
Я получил Glimpse v2 для работы с GitHub, но он мешает отображать встроенные ресурсы (например, .js файлы) - я открыл эта проблема - person Cristian Diaconescu; 14.01.2015