MCPcopy
hub / github.com/grafana/tempo / initBackendScheduler

Method initBackendScheduler

cmd/tempo/app/modules.go:638–679  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

636}
637
638func (t *App) initBackendScheduler() (services.Service, error) {
639 if t.cfg.Target == BackendScheduler {
640 t.cfg.BackendScheduler.Poll = true
641 }
642
643 var (
644 err error
645 reader backend.RawReader
646 writer backend.RawWriter
647 )
648
649 switch t.cfg.StorageConfig.Trace.Backend {
650 case backend.Local:
651 reader, writer, _, err = local.New(t.cfg.StorageConfig.Trace.Local)
652 case backend.GCS:
653 reader, writer, _, err = gcs.New(t.cfg.StorageConfig.Trace.GCS)
654 case backend.S3:
655 reader, writer, _, err = s3.New(t.cfg.StorageConfig.Trace.S3)
656 case backend.Azure:
657 reader, writer, _, err = azure.New(t.cfg.StorageConfig.Trace.Azure)
658 default:
659 err = fmt.Errorf("unknown backend %s", t.cfg.StorageConfig.Trace.Backend)
660 }
661
662 if err != nil {
663 return nil, fmt.Errorf("failed to initialize backendscheduler reader/writer: %w", err)
664 }
665
666 scheduler, err := backendscheduler.New(t.cfg.BackendScheduler, t.store, t.Overrides, reader, writer)
667 if err != nil {
668 return nil, fmt.Errorf("failed to create backend scheduler: %w", err)
669 }
670
671 // Register the GRPC service
672 tempopb.RegisterBackendSchedulerServer(t.Server.GRPC(), scheduler)
673
674 t.Server.HTTPRouter().Path("/status/backendscheduler").HandlerFunc(scheduler.StatusHandler)
675
676 t.backendScheduler = scheduler
677
678 return scheduler, nil
679}
680
681func (t *App) initBackendWorker() (services.Service, error) {
682 if IsSingleBinary(t.cfg.Target) && t.cfg.BackendWorker.BackendSchedulerAddr == "" {

Callers

nothing calls this directly

Calls 8

NewFunction · 0.92
NewFunction · 0.92
NewFunction · 0.92
NewFunction · 0.92
NewFunction · 0.92
GRPCMethod · 0.65
HTTPRouterMethod · 0.65

Tested by

no test coverage detected