internal DotNetEventListener(IEventSourceStatsCollector collector, Action <Exception> errorHandler, bool enableDebugging, IMetrics metrics) : base() { _collector = collector; _errorHandler = errorHandler; _enableDebugging = enableDebugging; _metrics = metrics; if (_enableDebugging) { _cpuConsumed = new TimerOptions() { Context = DotNetRuntimeMetricsRegistry.ContextName, MeasurementUnit = Unit.None, DurationUnit = TimeUnit.Nanoseconds, Name = "dotnet_debug_cpu_nanoseconds_total", Tags = new MetricTags("collector", collector.GetType().Name.ToSnakeCase()) }; } _eventTypeCounts = new CounterOptions() { Context = DotNetRuntimeMetricsRegistry.ContextName, MeasurementUnit = Unit.Items, ReportItemPercentages = false }; EventSourceCreated += OnEventSourceCreated; }
internal DotNetEventListener(IEventSourceStatsCollector collector, Action <Exception> errorHandler, bool enableDebugging) : base() { _collector = collector; _errorHandler = errorHandler; _enableDebugging = enableDebugging; if (_enableDebugging) { _eventTypeCounts ??= Metrics.CreateCounter($"dotnet_debug_events_total", "The total number of .NET diagnostic events processed", "collector_name", "event_source_name", "event_name"); _cpuConsumed ??= Metrics.CreateCounter("dotnet_debug_cpu_seconds_total", "The total CPU time consumed by processing .NET diagnostic events (does not include the CPU cost to generate the events)", "collector_name", "event_source_name", "event_name"); _nameSnakeCase = collector.GetType().Name.ToSnakeCase(); } EventSourceCreated += OnEventSourceCreated; }