Skip to content

Commit c7da0b4

Browse files
authored
Add archive traces to all-in-one (#1189)
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
1 parent 78d32fc commit c7da0b4

File tree

1 file changed

+35
-3
lines changed

1 file changed

+35
-3
lines changed

cmd/all-in-one/main.go

+35-3
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ import (
5959
"github.com/jaegertracing/jaeger/pkg/version"
6060
ss "github.com/jaegertracing/jaeger/plugin/sampling/strategystore"
6161
"github.com/jaegertracing/jaeger/plugin/storage"
62+
istorage "github.com/jaegertracing/jaeger/storage"
6263
"github.com/jaegertracing/jaeger/storage/dependencystore"
6364
"github.com/jaegertracing/jaeger/storage/spanstore"
6465
storageMetrics "github.com/jaegertracing/jaeger/storage/spanstore/metrics"
@@ -140,7 +141,7 @@ func main() {
140141

141142
startAgent(aOpts, repOpts, tchannelRepOpts, grpcRepOpts, cOpts, logger, metricsFactory)
142143
grpcServer := startCollector(cOpts, spanWriter, logger, metricsFactory, strategyStore, hc)
143-
startQuery(qOpts, spanReader, dependencyReader, logger, metricsFactory, mBldr, hc)
144+
startQuery(qOpts, spanReader, dependencyReader, logger, metricsFactory, mBldr, hc, archiveOptions(storageFactory, logger))
144145
hc.Ready()
145146
<-signalsChannel
146147
logger.Info("Shutting down")
@@ -338,6 +339,7 @@ func startQuery(
338339
baseFactory metrics.Factory,
339340
metricsBuilder *pMetrics.Builder,
340341
hc *healthcheck.HealthCheck,
342+
handlerOpts []queryApp.HandlerOption,
341343
) {
342344
tracer, closer, err := jaegerClientConfig.Configuration{
343345
Sampler: &jaegerClientConfig.SamplerConfig{
@@ -357,11 +359,11 @@ func startQuery(
357359

358360
spanReader = storageMetrics.NewReadMetricsDecorator(spanReader, baseFactory.Namespace("query", nil))
359361

362+
handlerOpts = append(handlerOpts, queryApp.HandlerOptions.Logger(logger), queryApp.HandlerOptions.Tracer(tracer))
360363
apiHandler := queryApp.NewAPIHandler(
361364
spanReader,
362365
depReader,
363-
queryApp.HandlerOptions.Logger(logger),
364-
queryApp.HandlerOptions.Tracer(tracer))
366+
handlerOpts...)
365367

366368
r := mux.NewRouter()
367369
if qOpts.BasePath != "/" {
@@ -401,3 +403,33 @@ func initSamplingStrategyStore(
401403
}
402404
return strategyStore
403405
}
406+
407+
func archiveOptions(storageFactory istorage.Factory, logger *zap.Logger) []queryApp.HandlerOption {
408+
archiveFactory, ok := storageFactory.(istorage.ArchiveFactory)
409+
if !ok {
410+
logger.Info("Archive storage not supported by the factory")
411+
return nil
412+
}
413+
reader, err := archiveFactory.CreateArchiveSpanReader()
414+
if err == istorage.ErrArchiveStorageNotConfigured || err == istorage.ErrArchiveStorageNotSupported {
415+
logger.Info("Archive storage not created", zap.String("reason", err.Error()))
416+
return nil
417+
}
418+
if err != nil {
419+
logger.Error("Cannot init archive storage reader", zap.Error(err))
420+
return nil
421+
}
422+
writer, err := archiveFactory.CreateArchiveSpanWriter()
423+
if err == istorage.ErrArchiveStorageNotConfigured || err == istorage.ErrArchiveStorageNotSupported {
424+
logger.Info("Archive storage not created", zap.String("reason", err.Error()))
425+
return nil
426+
}
427+
if err != nil {
428+
logger.Error("Cannot init archive storage writer", zap.Error(err))
429+
return nil
430+
}
431+
return []queryApp.HandlerOption{
432+
queryApp.HandlerOptions.ArchiveSpanReader(reader),
433+
queryApp.HandlerOptions.ArchiveSpanWriter(writer),
434+
}
435+
}

0 commit comments

Comments
 (0)