MCPcopy
hub / github.com/grafana/dskit / NewClient

Function NewClient

kv/consul/client.go:86–110  ·  view source on GitHub ↗

NewClient returns a new Client.

(cfg Config, codec codec.Codec, logger log.Logger, registerer prometheus.Registerer)

Source from the content-addressed store, hash-verified

84
85// NewClient returns a new Client.
86func NewClient(cfg Config, codec codec.Codec, logger log.Logger, registerer prometheus.Registerer) (*Client, error) {
87 client, err := consul.NewClient(&consul.Config{
88 Address: cfg.Host,
89 Token: cfg.ACLToken.String(),
90 Scheme: "http",
91 HttpClient: &http.Client{
92 Transport: cleanhttp.DefaultPooledTransport(),
93 // See https://blog.cloudflare.com/the-complete-guide-to-golang-net-http-timeouts/
94 Timeout: cfg.HTTPClientTimeout,
95 },
96 })
97 if err != nil {
98 return nil, err
99 }
100 consulMetrics := newConsulMetrics(registerer)
101
102 c := &Client{
103 kv: consulInstrumentation{client.KV(), consulMetrics},
104 codec: codec,
105 cfg: cfg,
106 logger: logger,
107 consulMetrics: consulMetrics,
108 }
109 return c, nil
110}
111
112// Put is mostly here for testing.
113func (c *Client) Put(ctx context.Context, key string, value interface{}) error {

Callers 1

createClientFunction · 0.92

Calls 2

newConsulMetricsFunction · 0.85
StringMethod · 0.65

Tested by

no test coverage detected