INNER CODE UNIT · C#
MiniProfilerDiagnosticListener
TurnerSoftware/MongoFramework · src/MongoFramework.Profiling.MiniProfiler/MiniProfilerDiagnosticListener.cs:14
public class MiniProfilerDiagnosticListener : IDiagnosticListener
{
private static MethodInfo OnNextWriteCommandMethod { get; } = typeof(MiniProfilerDiagnosticListener)
.GetMethods(BindingFlags.Instance | BindingFlags.NonPublic)
.Where(m => m.IsGenericMethod && m.Name == nameof(OnNextWriteCommand)).FirstOrDefault();
private static MethodInfo OnNextIndexCommandMethod { get; } = typeof(MiniProfilerDiagnosticListener)
.GetMethods(BindingFlags.Instance | BindingFlags.NonPublic)
.Where(m => m.IsGenericMethod && m.Name == nameof(OnNextIndexCommand)).FirstOrDefault();
private ConcurrentDictionary<Guid, CustomTiming> Commands { get; } = new ConcurrentDictionary<Guid, CustomTiming>();
public void OnCompleted() { /* OnCompleted is never called in MongoFramework as commands have a state */ }
public void OnError(Exception error) => Trace.WriteLine(error);
public void OnNext(DiagnosticCommand value)
{
if (StackExchange.Profiling.MiniProfiler.Current == null)