public SpanProcessor(BlockingCollection<Span> spanQueue, IClientProvider clientProvider, int maxBatchSize)
        {
            if ( spanQueue == null) 
            {
                throw new ArgumentNullException("spanQueue is null");
            }

            if ( clientProvider == null) 
            {
                throw new ArgumentNullException("clientProvider is null");
            }

            this.spanQueue = spanQueue;
            this.clientProvider = clientProvider;
            this.maxBatchSize = maxBatchSize;
            logEntries = new List<LogEntry>();
            protocolFactory = new TBinaryProtocol.Factory();
            spanProcessorTaskFactory = new SpanProcessorTaskFactory();
        }
        public SpanProcessor(BlockingCollection <Span> spanQueue, IClientProvider clientProvider, int maxBatchSize)
        {
            if (spanQueue == null)
            {
                throw new ArgumentNullException("spanQueue is null");
            }

            if (clientProvider == null)
            {
                throw new ArgumentNullException("clientProvider is null");
            }

            this.spanQueue           = spanQueue;
            this.clientProvider      = clientProvider;
            this.maxBatchSize        = maxBatchSize;
            logEntries               = new List <LogEntry>();
            protocolFactory          = new TBinaryProtocol.Factory();
            spanProcessorTaskFactory = new SpanProcessorTaskFactory();
        }