public override ConsumeResult <TKey, TValue> Consume(CancellationToken cancellationToken) { var consumerResult = Stats.Metric().ConsumeLatency(() => Task.FromResult(Consumer.Consume(cancellationToken))).GetAwaiter().GetResult(); Stats.Metric().ConsumedIncrement().GetAwaiter().GetResult(); return(consumerResult); }
public override IKafkaConsumer <TKey, TValue> CreateConsumer() { var kafkaConsumer = base.CreateConsumer(); Stats.Metric().CountInstances(kafkaConsumer).GetAwaiter().GetResult(); return(kafkaConsumer); }
protected override IKafkaProducer <TKey, TValue> CreateKafkaProducer(IProducer <TKey, TValue> producer, string kafkaTopic) { var kafkaProducer = new KafkaProducerWithMetrics <TKey, TValue>(Logger, kafkaTopic, producer, Stats); #pragma warning disable 4014 Stats.Metric().CountInstances(kafkaProducer); #pragma warning restore 4014 return(kafkaProducer); }
protected override async Task PushToPipeAsync(CancellationToken cancellationToken, TConsumerValue entity, PipelineMetadata pipelineMetadata, AbstractPipe <TConsumerValue> pipe) { await pipe.Head.PushAsync(cancellationToken, entity, pipelineMetadata).ConfigureAwait(false); await _stats.Metric().PipelineLatency(pipelineMetadata).ConfigureAwait(false); }
protected override Task Emit(Message <TKey, TValue> message) { return(_stats.Metric().ProduceLatency(() => Producer.ProduceAsync(Topic, message)) .ContinueWith(antecedent => _stats.Metric().ProduceCountIncrement(), TaskContinuationOptions.OnlyOnRanToCompletion)); }