func newKustoSpanWriter()

in store/writer.go [33:56]


func newKustoSpanWriter(factory *kustoFactory, logger hclog.Logger, pc *config.PluginConfig) (*kustoSpanWriter, error) {
	in, err := factory.Ingest()
	if err != nil {
		return nil, err
	}

	writer := &kustoSpanWriter{
		batchMaxBytes:         factory.PluginConfig.WriterBatchMaxBytes,
		batchTimeout:          time.Duration(factory.PluginConfig.WriterBatchTimeoutSeconds) * time.Second,
		workersCount:          factory.PluginConfig.WriterWorkersCount,
		ingest:                in,
		logger:                logger,
		spanInput:             make(chan []string, factory.PluginConfig.WriterSpanBufferSize),
		shutdown:              make(chan struct{}),
		shutdownWg:            sync.WaitGroup{},
		disableJaegerUiTraces: pc.DisableJaegerUiTraces,
	}

	for i := 0; i < writer.workersCount; i++ {
		go writer.ingestWorker()
	}

	return writer, nil
}