public Task ProcessEventsAsync(PartitionContext partitionContext, IEnumerable<EventData> messages) { messages.Verify().IsNotNull(); if (messages == null) return partitionContext.CheckpointAsync(); foreach (var eventData in messages) { var data = Encoding.UTF8.GetString(eventData.Body.Array!, eventData.Body.Offset, eventData.Body.Count); _sampler.Add(1); } return partitionContext.CheckpointAsync(); }
private async Task SendMessages(IWorkContext context, MetricSampler metrics) { for (var i = 0; (_option.Count == 0 || i < _option.Count) && !context.CancellationToken.IsCancellationRequested; i++) { try { var message = $"Message {i} ***"; await _sendEvent.Value.SendAsync(context, new EventData(Encoding.UTF8.GetBytes(message))); metrics.Add(1); _messageCount++; } catch (Exception exception) { context.Telemetry.Error(context, $"{DateTime.Now} > Exception: {exception.Message}"); } } }
private async Task SendMessage(IWorkContext context, MetricSampler metrics) { for (var i = 0; (_option.Count == 0 || i < _option.Count) && !context.CancellationToken.IsCancellationRequested; i++) { try { var message = $"Message {i} ***"; await _client.Send(context, message); metrics.Add(1); _messageCount++; } catch (Exception exception) { context.Telemetry.Error(context, $"{DateTime.Now} > Exception: {exception.Message}"); } } }
public void GivenSampler_WhenTestingFast_ShouldHaveSingleSummaryRecord() { const int count = 99; var metrics = new MetricSampler(TimeSpan.FromSeconds(1)); metrics.Start(); Enumerable.Range(0, count) .ForEach(x => metrics.Add(x)); metrics.Stop(); IReadOnlyList <MetricSample> metricsList = metrics.GetMetrics(); metricsList.Count().Should().Be(1); int n = count - 1; float sumOfNumbers = (n * (n + 1)) / 2; metricsList.Max(x => x.Value).Should().Be(sumOfNumbers); metricsList.Max(x => x.Count).Should().Be(count); }
private Task ReceiveMessage(IWorkContext context, Message message) { _sampler.Add(1); //context.Telemetry.Info(context, $"Received message: SequenceNumber:{message.SystemProperties.SequenceNumber} Body:{Encoding.UTF8.GetString(message.Body)}"); return(Task.FromResult(0)); }