MCPcopy Create free account
hub / github.com/cortexproject/cortex / NewDistributor

Function NewDistributor

pkg/alertmanager/distributor.go:44–60  ·  view source on GitHub ↗

NewDistributor constructs a new Distributor

(cfg ClientConfig, maxRecvMsgSize int64, alertmanagersRing *ring.Ring, alertmanagerClientsPool ClientsPool, ringConfig RingConfig, logger log.Logger, reg prometheus.Registerer)

Source from the content-addressed store, hash-verified

42
43// NewDistributor constructs a new Distributor
44func NewDistributor(cfg ClientConfig, maxRecvMsgSize int64, alertmanagersRing *ring.Ring, alertmanagerClientsPool ClientsPool, ringConfig RingConfig, logger log.Logger, reg prometheus.Registerer) (d *Distributor, err error) {
45 if alertmanagerClientsPool == nil {
46 alertmanagerClientsPool = newAlertmanagerClientsPool(client.NewRingServiceDiscovery(alertmanagersRing), cfg, logger, reg)
47 }
48
49 d = &Distributor{
50 cfg: cfg,
51 logger: logger,
52 maxRecvMsgSize: maxRecvMsgSize,
53 alertmanagerRing: alertmanagersRing,
54 alertmanagerClientsPool: alertmanagerClientsPool,
55 ringConfig: ringConfig,
56 }
57
58 d.Service = services.NewBasicService(nil, d.running, nil)
59 return d, nil
60}
61
62func (d *Distributor) running(ctx context.Context) error {
63 <-ctx.Done()

Callers 2

prepareFunction · 0.70

Calls 3

NewRingServiceDiscoveryFunction · 0.92
NewBasicServiceFunction · 0.92

Tested by 1

prepareFunction · 0.56