()
| 584 | } |
| 585 | |
| 586 | func (t *App) initUsageReport() (services.Service, error) { |
| 587 | if !t.cfg.UsageReport.Enabled { |
| 588 | return nil, nil |
| 589 | } |
| 590 | |
| 591 | t.cfg.UsageReport.Leader = false |
| 592 | if t.isModuleActive(LiveStore) { |
| 593 | t.cfg.UsageReport.Leader = true |
| 594 | } |
| 595 | |
| 596 | usagestats.Target(t.cfg.Target) |
| 597 | |
| 598 | var err error |
| 599 | var reader backend.RawReader |
| 600 | var writer backend.RawWriter |
| 601 | |
| 602 | switch t.cfg.StorageConfig.Trace.Backend { |
| 603 | case backend.Local: |
| 604 | reader, writer, _, err = local.New(t.cfg.StorageConfig.Trace.Local) |
| 605 | case backend.GCS: |
| 606 | reader, writer, _, err = gcs.New(t.cfg.StorageConfig.Trace.GCS) |
| 607 | case backend.S3: |
| 608 | reader, writer, _, err = s3.New(t.cfg.StorageConfig.Trace.S3) |
| 609 | case backend.Azure: |
| 610 | reader, writer, _, err = azure.New(t.cfg.StorageConfig.Trace.Azure) |
| 611 | default: |
| 612 | err = fmt.Errorf("unknown backend %s", t.cfg.StorageConfig.Trace.Backend) |
| 613 | } |
| 614 | |
| 615 | if err != nil { |
| 616 | return nil, fmt.Errorf("failed to initialize usage report: %w", err) |
| 617 | } |
| 618 | |
| 619 | ur, err := usagestats.NewReporter(t.cfg.UsageReport, t.cfg.LiveStore.Ring.KVStore, reader, writer, util_log.Logger, prometheus.DefaultRegisterer) |
| 620 | if err != nil { |
| 621 | level.Info(util_log.Logger).Log("msg", "failed to initialize usage report", "err", err) |
| 622 | return nil, nil |
| 623 | } |
| 624 | t.usageReport = ur |
| 625 | return ur, nil |
| 626 | } |
| 627 | |
| 628 | func (t *App) initCacheProvider() (services.Service, error) { |
| 629 | c, err := cache.NewProvider(&t.cfg.CacheProvider, util_log.Logger) |
nothing calls this directly
no test coverage detected