public GenericDiagnostics(ILoggerFactory loggerFactory, ITracer tracer, IOptions <GenericDiagnosticOptions> options,
                           IOptions <GenericEventOptions> genericEventOptions)
     : base(loggerFactory, tracer)
 {
     _options             = options?.Value ?? throw new ArgumentNullException(nameof(options));
     _genericEventOptions = genericEventOptions.Value;
 }
            public GenericDiagnosticsSubscription(GenericDiagnostics subscriber, DiagnosticListener diagnosticListener,
                                                  GenericEventOptions genericEventOptions)
            {
                _subscriber   = subscriber;
                _listenerName = diagnosticListener.Name;

                subscriber._options.IgnoredEvents.TryGetValue(diagnosticListener.Name, out _ignoredEvents);

                if (!genericEventOptions.IsIgnored(diagnosticListener.Name))
                {
                    _genericEventProcessor = new GenericEventProcessor(_listenerName, _subscriber.Tracer, subscriber.Logger,
                                                                       genericEventOptions);
                }

                _subscription = diagnosticListener.Subscribe(this, IsEnabled);
            }