public async Task Handle(RawBrokerMessage message, RawBrokerMessageHandler next) { var activity = new Activity(DiagnosticsConstants.ActivityNameMessageConsuming); try { activity.InitFromMessageHeaders(message.Headers); activity.Start(); await next(message); } finally { activity.Stop(); } }
private async Task ExecutePipeline(IEnumerable <IProducerBehavior> behaviors, RawBrokerMessage message, RawBrokerMessageHandler finalAction) { if (behaviors != null && behaviors.Any()) { await behaviors.First().Handle(message, m => ExecutePipeline(behaviors.Skip(1), m, finalAction)); } else { await finalAction(message); _messageLogger.LogInformation(_logger, "Message produced.", message); } }
private async Task ExecutePipeline(IEnumerable <IConsumerBehavior> behaviors, RawBrokerMessage message, RawBrokerMessageHandler finalAction) { if (behaviors != null && behaviors.Any()) { await behaviors.First().Handle(message, m => ExecutePipeline(behaviors.Skip(1), m, finalAction)); } else { await finalAction(message); } }