internal static MonitorEventScope RaiseScope(MonitorEventEntry startEvent) { var timingHandle = new TimingHandle(); startEvent.OpCode = MonitorEventOpCode.Start; Raise(startEvent); return(new MonitorEventScope(startEvent)); }
protected override async Task OnBufferedEventAsync(MonitorEventEntry e) { string message = String.Format("({0}:{1})[{2}:{3}]: {4}", e.Level, e.OpCode, e.Source, e.Name, e.Detail); if (e.OpCode == MonitorEventOpCode.Stop) { message += String.Format("({0:0.00}ms),", e.RuntimeMilliseconds); } await Console.Out.WriteLineAsync(message); }
internal static MonitorEventEntry Raise(MonitorEventEntry monitorEvent) { if (Interlocked.CompareExchange(ref s_consumerCount, 0, 0) == 0) { return(monitorEvent); } List <IMonitorEventConsumer> result; if (FlagToConsumerLookup.TryGetValue(CombineFlags(monitorEvent), out result)) { lock (result) { foreach (var item in result) { item.OnEvent(monitorEvent); } } } return(monitorEvent); }
internal EventPublisherSource(MonitorEventEntry defaults) { _defaults = defaults; }
protected virtual void OnBufferedEvent(MonitorEventEntry e) { throw new NotImplementedException(); }
protected virtual Task OnBufferedEventAsync(MonitorEventEntry e) { throw new NotImplementedException(); }
public void OnEvent(MonitorEventEntry e) { _buffer.Post(e); }
internal MonitorEventScope(MonitorEventEntry start) { _timing = new TimingHandle(); this.Start = start; }
/// <summary> /// Creates an event source for publishing events. /// </summary> /// <param name="defaults">Default event properties.</param> /// <returns>Event publisher source.</returns> public static EventPublisherSource CreateEventSource(MonitorEventEntry defaults) { return(new EventPublisherSource(defaults)); }
internal static int CombineFlags(MonitorEventEntry e) { return(CombineFlags((short)e.OpCode, (short)e.Level)); }