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

Method initMemberlistKV

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

Source from the content-addressed store, hash-verified

550}
551
552func (t *App) initMemberlistKV() (services.Service, error) {
553 reg := prometheus.DefaultRegisterer
554 t.cfg.MemberlistKV.MetricsNamespace = metricsNamespace
555 t.cfg.MemberlistKV.Codecs = append(t.cfg.MemberlistKV.Codecs,
556 ring.GetCodec(),
557 ring.GetPartitionRingCodec(),
558 usagestats.JSONCodec,
559 )
560
561 dnsProviderReg := prometheus.WrapRegistererWithPrefix(
562 "tempo_",
563 prometheus.WrapRegistererWith(
564 prometheus.Labels{"name": "memberlist"},
565 reg,
566 ),
567 )
568
569 dnsProvider := dns.NewProvider(log.Logger, dnsProviderReg, dns.GolangResolverType)
570 t.MemberlistKV = memberlist.NewKVInitService(&t.cfg.MemberlistKV, log.Logger, dnsProvider, reg)
571
572 t.cfg.Generator.Ring.KVStore.MemberlistKV = t.MemberlistKV.GetMemberlistKV
573 t.cfg.Distributor.DistributorRing.KVStore.MemberlistKV = t.MemberlistKV.GetMemberlistKV
574 t.cfg.BackendWorker.Ring.KVStore.MemberlistKV = t.MemberlistKV.GetMemberlistKV
575 t.cfg.LiveStore.PartitionRing.KVStore.MemberlistKV = t.MemberlistKV.GetMemberlistKV
576 t.cfg.LiveStore.Ring.KVStore.MemberlistKV = t.MemberlistKV.GetMemberlistKV
577
578 // Only the memberlist endpoint uses static files currently
579 t.Server.HTTPRouter().PathPrefix("/static/").HandlerFunc(http.FileServer(http.FS(staticFiles)).ServeHTTP).Methods("GET")
580
581 t.Server.HTTPRouter().Handle("/memberlist", memberlistStatusHandler("", t.MemberlistKV))
582
583 return t.MemberlistKV, nil
584}
585
586func (t *App) initUsageReport() (services.Service, error) {
587 if !t.cfg.UsageReport.Enabled {

Callers

nothing calls this directly

Calls 3

memberlistStatusHandlerFunction · 0.85
HTTPRouterMethod · 0.65
HandleMethod · 0.65

Tested by

no test coverage detected