У меня была такая же проблема при реализации этого.Проблема возникает, когда уровень пользовательского интерфейса не делает никаких вызовов SQL, но затем данные WCF возвращаются с вызовами SQL.Корневой таймер не знает, что в иерархии ниже есть тайминги sql.
Я добавил одну строку, чтобы при добавлении «удаленных» таймингов мы устанавливали поле «hasSqlTimings», чтобы пользовательский интерфейс знал, как правильно отображать блок.Вот код, который я изменил в MvcMiniProfiler \ MiniProfiler.cs:
/// <summary>
/// Adds <paramref name="externalProfiler"/>'s <see cref="Timing"/> hierarchy to this profiler's current Timing step,
/// allowing other threads, remote calls, etc. to be profiled and joined into this profiling session.
/// </summary>
public static void AddProfilerResults(this MiniProfiler profiler, MiniProfiler externalProfiler)
{
if (profiler == null || externalProfiler == null) return;
profiler.Head.AddChild(externalProfiler.Root);
profiler.HasSqlTimings = profiler.GetTimingHierarchy().Any(t => t.HasSqlTimings);
}