public StreamConsumer([NotNull] StreamConsumerSettings <T> settings, [CanBeNull] ILog log) { this.settings = settings ?? throw new ArgumentNullException(nameof(settings)); this.log = (log ?? LogProvider.Get()).ForContext <StreamConsumer <T> >(); streamReader = new StreamReader <T>( new StreamReaderSettings <T>( settings.StreamName, settings.StreamClient) { EventsReadTimeout = settings.EventsReadTimeout, EventsReadBatchSize = settings.EventsReadBatchSize, EventsReadAttempts = settings.EventsReadAttempts, DelayOnError = settings.DelayOnError }, log); eventsMetric = settings.MetricContext?.CreateIntegerGauge("events", "type", new IntegerGaugeConfig { ResetOnScrape = true }); iterationMetric = settings.MetricContext?.CreateSummary("iteration", "type", new SummaryConfig { Quantiles = new[] { 0.5, 0.75, 1 } }); settings.MetricContext?.CreateFuncGauge("events", "type").For("remaining").SetValueProvider(() => CountStreamRemainingEvents()); }
public Task RunAsync(CancellationToken cancellationToken) { var consumerSettings = new StreamConsumerSettings( settings.SourceStreamName, settings.StreamClient, new TransformingEventHandler(settings, log), settings.CoordinatesStorage, settings.ShardingSettingsProvider) { MetricContext = settings.MetricContext, EventsReadBatchSize = settings.EventsReadBatchSize, EventsReadTimeout = settings.EventsReadTimeout, EventsReadAttempts = settings.EventsReadAttempts, DelayOnError = settings.DelayOnError, DelayOnNoEvents = settings.DelayOnNoEvents }; return(new StreamConsumer(consumerSettings, log).RunAsync(cancellationToken)); }
public StreamConsumer([NotNull] StreamConsumerSettings settings, [CanBeNull] ILog log) =>