private StreamThread(string threadId, string clientId, TaskManager manager, IConsumer <byte[], byte[]> consumer, InternalTopologyBuilder builder, IChangelogReader storeChangelogReader, StreamMetricsRegistry streamMetricsRegistry, TimeSpan timeSpan, long commitInterval)
        {
            this.manager               = manager;
            this.consumer              = consumer;
            this.builder               = builder;
            consumeTimeout             = timeSpan;
            this.threadId              = threadId;
            this.clientId              = clientId;
            logPrefix                  = $"stream-thread[{threadId}] ";
            commitTimeMs               = commitInterval;
            changelogReader            = storeChangelogReader;
            this.streamMetricsRegistry = streamMetricsRegistry;

            thread      = new Thread(Run);
            thread.Name = this.threadId;
            Name        = this.threadId;

            State = ThreadState.CREATED;

            commitSensor         = ThreadMetrics.CommitSensor(threadId, streamMetricsRegistry);
            pollSensor           = ThreadMetrics.PollSensor(threadId, streamMetricsRegistry);
            pollRecordsSensor    = ThreadMetrics.PollRecordsSensor(threadId, streamMetricsRegistry);
            pollRatioSensor      = ThreadMetrics.PollRatioSensor(threadId, streamMetricsRegistry);
            processLatencySensor = ThreadMetrics.ProcessLatencySensor(threadId, streamMetricsRegistry);
            processRecordsSensor = ThreadMetrics.ProcessRecordsSensor(threadId, streamMetricsRegistry);
            processRateSensor    = ThreadMetrics.ProcessRateSensor(threadId, streamMetricsRegistry);
            processRatioSensor   = ThreadMetrics.ProcessRatioSensor(threadId, streamMetricsRegistry);
            commitRatioSensor    = ThreadMetrics.CommitRatioSensor(threadId, streamMetricsRegistry);
        }
 private StreamThread(string threadId, string clientId, TaskManager manager, IConsumer <byte[], byte[]> consumer,
                      InternalTopologyBuilder builder, IChangelogReader storeChangelogReader,
                      StreamMetricsRegistry streamMetricsRegistry, IStreamConfig configuration)
     : this(threadId, clientId, manager, consumer, builder, storeChangelogReader, streamMetricsRegistry, TimeSpan.FromMilliseconds(configuration.PollMs), configuration.CommitIntervalMs)
 {
     streamConfig = configuration;
 }
 internal TaskManager(InternalTopologyBuilder builder, TaskCreator taskCreator, IAdminClient adminClient,
                      IChangelogReader changelogReader)
 {
     this.builder         = builder;
     this.taskCreator     = taskCreator;
     this.adminClient     = adminClient;
     this.changelogReader = changelogReader;
 }
 internal TaskManager(InternalTopologyBuilder builder, TaskCreator taskCreator, IAdminClient adminClient, IConsumer <byte[], byte[]> consumer, IChangelogReader changelogReader)
     : this(builder, taskCreator, adminClient, changelogReader)
 {
     Consumer = consumer;
 }