示例#1
0
        public void ProcessEvent(EventWrittenEventArgs e)
        {
            if (e.EventId == EventIdThreadPoolEnqueueWork)
            {
                ScheduledCount.Inc();
            }

            if (_eventPairTimer.TryGetEventPairDuration(e, out var duration))
            {
                ScheduleDelay.Observe(duration.TotalSeconds);
            }
        }
        protected override void ProcessEvent(EventWrittenEventArgs e)
        {
            var eventTime = _eventTimer.GetEventTime(e);

            if (eventTime == EventTime.Start)
            {
                ScheduledCount.Inc();
            }

            if (eventTime.FinalWithDuration)
            {
                ScheduleDelay.Observe(eventTime.Duration.TotalSeconds);
            }
        }
        public void ProcessEvent(EventWrittenEventArgs e)
        {
            switch (_eventPairTimer.TryGetDuration(e, out var duration))
            {
            case DurationResult.Start:
                ScheduledCount.Inc();
                return;

            case DurationResult.FinalWithDuration:
                ScheduleDelay.Observe(duration.TotalSeconds, _samplingRate.SampleEvery);
                return;

            default:
                return;
            }
        }