MCPcopy Index your code
hub / github.com/cortexproject/cortex / newRulerClientPool

Function newRulerClientPool

pkg/ruler/client_pool.go:37–53  ·  view source on GitHub ↗
(clientCfg grpcclient.Config, logger log.Logger, reg prometheus.Registerer)

Source from the content-addressed store, hash-verified

35}
36
37func newRulerClientPool(clientCfg grpcclient.Config, logger log.Logger, reg prometheus.Registerer) ClientsPool {
38 // We prefer sane defaults instead of exposing further config options.
39 poolCfg := client.PoolConfig{
40 CheckInterval: time.Minute,
41 HealthCheckEnabled: true,
42 HealthCheckTimeout: 10 * time.Second,
43 }
44
45 clientsCount := promauto.With(reg).NewGauge(prometheus.GaugeOpts{
46 Name: "cortex_ruler_clients",
47 Help: "The current number of ruler clients in the pool.",
48 })
49
50 return &rulerClientsPool{
51 client.NewPool("ruler", poolCfg, nil, newRulerClientFactory(clientCfg, reg), clientsCount, logger),
52 }
53}
54
55func newRulerClientFactory(clientCfg grpcclient.Config, reg prometheus.Registerer) client.PoolFactory {
56 requestDuration := promauto.With(reg).NewHistogramVec(prometheus.HistogramOpts{

Callers 2

NewRulerFunction · 0.85
newMockClientsPoolFunction · 0.85

Calls 2

NewPoolFunction · 0.92
newRulerClientFactoryFunction · 0.85

Tested by 1

newMockClientsPoolFunction · 0.68