diff --git a/src/prometheus-net.DotNetRuntime/DotNetEventListener.cs b/src/prometheus-net.DotNetRuntime/DotNetEventListener.cs index b4bbaaf..c9fe4dd 100644 --- a/src/prometheus-net.DotNetRuntime/DotNetEventListener.cs +++ b/src/prometheus-net.DotNetRuntime/DotNetEventListener.cs @@ -1,11 +1,7 @@ +using Prometheus.DotNetRuntime.StatsCollectors.Util; using System; -using System.Collections.Generic; -using System.Collections.Immutable; using System.Diagnostics; using System.Diagnostics.Tracing; -using System.Linq; -using Prometheus.DotNetRuntime.StatsCollectors; -using Prometheus.DotNetRuntime.StatsCollectors.Util; namespace Prometheus.DotNetRuntime { @@ -24,32 +20,28 @@ internal DotNetEventListener(IEventSourceStatsCollector collector, Action + var es = e.EventSource; + if (es.Guid == _collector.EventSourceGuid) { - var es = e.EventSource; - if (es.Guid == forCollector.EventSourceGuid) - { - EnableEvents(es, forCollector.Level, forCollector.Keywords); - StartedReceivingEvents = true; - } - }; + EnableEvents(es, _collector.Level, _collector.Keywords); + StartedReceivingEvents = true; + } } - + protected override void OnEventWritten(EventWrittenEventArgs eventData) { var sp = new Stopwatch(); @@ -60,7 +52,7 @@ protected override void OnEventWritten(EventWrittenEventArgs eventData) _eventTypeCounts.Labels(_nameSnakeCase, eventData.EventSource.Name, eventData.EventName).Inc(); sp.Restart(); } - + _collector.ProcessEvent(eventData); if (_enableDebugging) @@ -74,5 +66,11 @@ protected override void OnEventWritten(EventWrittenEventArgs eventData) _errorHandler(e); } } + + public override void Dispose() + { + EventSourceCreated -= OnEventSourceCreated; + base.Dispose(); + } } } \ No newline at end of file