Вы хотите "обернуть" свои рекурсивные вызовы внутри оператора using. Примерно так:
using (profiler.Step("Step A"))
{
// something recursive here
Thread.Sleep(100);
}
«Шаг А» будет суммой ваших звонков. Внутри этого оператора используя вы можете делать все, что захотите. «Шаг А» может быть любой информацией, которую вы хотите. Вы можете поместить туда любое строковое значение, и оно появится в профилировщике. Вы также можете добавить простую текстовую информацию, просто делая «шаг» без использования.
MiniProfiler.Current.Step("Some code after this");
Это просто вставит одну строку в окно вывода профилировщика. Я использовал это для того, чтобы выплевывать исключения или другую отладочную информацию.