Now batch writing is done by WriteWorker(naming is not final, please help me with it). It uses exponentiall backoff algorithm: in case of error writing to database it keeps trying, with icreasing duration between attempts;
WriteWorkers are created by WriteWorkerPool. If there's too many spans being ritten, the oldest WriteWorker is being stopped, and its batch is lost;
SpanWriter creates WriterWorkerPool and passes batches to it;
Also all info needed for writing spans is held in WriteParams struct, which is shared between all WriteWorkers.
Which problem is this PR solving?
Short description of the changes