protected override Task OnAbandoned(object sender, AbandonedEventArgs <T> abandonedEventArgs) { _timer.ScheduleNext(SystemClock.UtcNow.Add(_reportInterval)); if (!(abandonedEventArgs.Entry is IQueueEntryMetadata metadata)) { return(Task.CompletedTask); } string subMetricName = GetSubMetricName(abandonedEventArgs.Entry.Value); if (!String.IsNullOrEmpty(subMetricName)) { _metricsClient.Counter(GetFullMetricName(subMetricName, "abandoned")); } _metricsClient.Counter(GetFullMetricName("abandoned")); int time = (int)metadata.ProcessingTime.TotalMilliseconds; if (!String.IsNullOrEmpty(subMetricName)) { _metricsClient.Timer(GetFullMetricName(subMetricName, "processtime"), time); } _metricsClient.Timer(GetFullMetricName("processtime"), time); return(Task.CompletedTask); }
protected override async Task OnAbandoned(object sender, AbandonedEventArgs <T> abandonedEventArgs) { _timer.ScheduleNext(SystemClock.UtcNow.Add(_reportInterval)); var metadata = abandonedEventArgs.Entry as IQueueEntryMetadata; if (metadata == null) { return; } string subMetricName = GetSubMetricName(abandonedEventArgs.Entry.Value); if (!String.IsNullOrEmpty(subMetricName)) { await _metricsClient.CounterAsync(GetFullMetricName(subMetricName, "abandoned")).AnyContext(); } await _metricsClient.CounterAsync(GetFullMetricName("abandoned")).AnyContext(); var time = (int)metadata.ProcessingTime.TotalMilliseconds; if (!String.IsNullOrEmpty(subMetricName)) { await _metricsClient.TimerAsync(GetFullMetricName(subMetricName, "processtime"), time).AnyContext(); } await _metricsClient.TimerAsync(GetFullMetricName("processtime"), time).AnyContext(); }
protected override async Task OnAbandoned(object sender, AbandonedEventArgs <T> abandonedEventArgs) { await base.OnAbandoned(sender, abandonedEventArgs).AnyContext(); _timer.ScheduleNext(); var metadata = abandonedEventArgs.Entry as IQueueEntryMetadata; if (metadata == null) { return; } string customMetricName = GetCustomMetricName(abandonedEventArgs.Entry.Value); if (!String.IsNullOrEmpty(customMetricName)) { await _metricsClient.CounterAsync(GetFullMetricName(customMetricName, "abandoned")).AnyContext(); } await _metricsClient.CounterAsync(GetFullMetricName("abandoned")).AnyContext(); var time = (int)metadata.ProcessingTime.TotalMilliseconds; if (!String.IsNullOrEmpty(customMetricName)) { await _metricsClient.TimerAsync(GetFullMetricName(customMetricName, "processtime"), time).AnyContext(); } await _metricsClient.TimerAsync(GetFullMetricName("processtime"), time).AnyContext(); }
protected override async Task OnAbandoned(object sender, AbandonedEventArgs <T> abandonedEventArgs) { await base.OnAbandoned(sender, abandonedEventArgs).AnyContext(); await ReportQueueCountAsync().AnyContext(); string customMetricName = GetCustomMetricName(abandonedEventArgs.Metadata); string counter = GetFullMetricName(customMetricName, "abandoned"); await _metricsClient.CounterAsync(counter).AnyContext(); string timer = GetFullMetricName(customMetricName, "abandontime"); var time = (long)(abandonedEventArgs.Metadata?.ProcessingTime.TotalMilliseconds ?? 0D); await _metricsClient.TimerAsync(timer, time).AnyContext(); }
protected virtual Task OnAbandonedAsync(IQueueEntry <T> entry) { var metadata = entry as QueueEntry <T>; if (metadata != null && metadata.DequeuedTimeUtc > DateTime.MinValue) { metadata.ProcessingTime = SystemClock.UtcNow.Subtract(metadata.DequeuedTimeUtc); } var args = new AbandonedEventArgs <T> { Queue = this, Entry = entry }; return(Abandoned?.InvokeAsync(this, args) ?? Task.CompletedTask); }
protected virtual async Task OnAbandonedAsync(IQueueEntry <T> entry) { LastDequeueActivity = SystemClock.UtcNow; if (entry is QueueEntry <T> metadata && metadata.DequeuedTimeUtc > DateTime.MinValue) { metadata.ProcessingTime = SystemClock.UtcNow.Subtract(metadata.DequeuedTimeUtc); } if (Abandoned != null) { var args = new AbandonedEventArgs <T> { Queue = this, Entry = entry }; await Abandoned.InvokeAsync(this, args).AnyContext(); } StopProcessQueueEntryActivity(entry); }
protected virtual Task OnAbandonedAsync(IQueueEntry <T> entry) { if (entry is QueueEntry <T> metadata && metadata.DequeuedTimeUtc > DateTime.MinValue) { metadata.ProcessingTime = SystemClock.UtcNow.Subtract(metadata.DequeuedTimeUtc); } var abandoned = Abandoned; if (abandoned == null) { return(Task.CompletedTask); } var args = new AbandonedEventArgs <T> { Queue = this, Entry = entry }; return(abandoned.InvokeAsync(this, args)); }
protected virtual Task OnAbandoned(object sender, AbandonedEventArgs <T> abandonedEventArgs) { return(TaskHelper.Completed()); }