Ejemplo n.º 1
0
 internal IndividualDiagnosticSourceListener(DiagnosticListener diagnosticListener, IDiagnosticEventHandler eventHandler, DiagnosticSourceListenerBase <TContext> telemetryDiagnosticSourceListener, TContext context)
 {
     this.diagnosticListener = diagnosticListener;
     this.eventHandler       = eventHandler;
     this.Context            = context;
     this.telemetryDiagnosticSourceListener = telemetryDiagnosticSourceListener;
 }
 internal IndividualDiagnosticSourceListener(
     DiagnosticListener diagnosticListener,
     IDiagnosticEventHandler eventHandler,
     DiagnosticSourceListenerBase <TContext> telemetryDiagnosticSourceListener,
     TContext context,
     ActiveSubsciptionManager subscriptionManager)
 {
     this.diagnosticListener = diagnosticListener;
     this.eventHandler       = eventHandler;
     this.Context            = context;
     this.telemetryDiagnosticSourceListener = telemetryDiagnosticSourceListener;
     this.subscriptionManager = subscriptionManager;
     this.subscriptionManager.Attach(this);
 }
Ejemplo n.º 3
0
        /// <summary>
        /// This method gets called once for each existing DiagnosticListener when this
        /// DiagnosticListener is added to the list of DiagnosticListeners
        /// (<see cref="System.Diagnostics.DiagnosticListener.AllListeners"/>). This method will
        /// also be called for each subsequent DiagnosticListener that is added to the list of
        /// DiagnosticListeners.
        /// <seealso cref="IObserver{T}.OnNext(T)"/>
        /// </summary>
        /// <param name="value">The DiagnosticListener that exists when this listener was added to
        /// the list, or a DiagnosticListener that got added after this listener was added.</param>
        public virtual void OnNext(DiagnosticListener value)
        {
            if (value == null || !this.IsSourceEnabled(value))
            {
                return;
            }

            IDiagnosticEventHandler eventHandler = this.GetEventHandler(value.Name);
            var         individualListener       = new IndividualDiagnosticSourceListener(value, eventHandler, this, this.GetListenerContext(value));
            IDisposable subscription             = value.Subscribe(
                individualListener,
                (evnt, input1, input2) => this.IsActivityEnabled(evnt, individualListener.Context) && eventHandler.IsEventEnabled(evnt, input1, input2));

            if (this.individualSubscriptions == null)
            {
                this.individualSubscriptions = new List <IDisposable>();
            }

            this.individualSubscriptions.Add(subscription);
        }
Ejemplo n.º 4
0
 internal void RegisterHandler(string diagnosticSourceName, IDiagnosticEventHandler eventHandler)
 {
     this.customEventHandlers[diagnosticSourceName] = eventHandler;
 }