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

Function NewMemcached

pkg/cache/memcached.go:53–75  ·  view source on GitHub ↗

NewMemcached makes a new Memcached.

(cfg MemcachedConfig, client MemcachedClient, name string, maxItemSize int, reg prometheus.Registerer, logger log.Logger)

Source from the content-addressed store, hash-verified

51
52// NewMemcached makes a new Memcached.
53func NewMemcached(cfg MemcachedConfig, client MemcachedClient, name string, maxItemSize int, reg prometheus.Registerer, logger log.Logger) *Memcached {
54 c := &Memcached{
55 cfg: cfg,
56 memcache: client,
57 name: name,
58 maxItemSize: maxItemSize,
59 logger: logger,
60 requestDuration: instr.NewHistogramCollector(
61 promauto.With(reg).NewHistogramVec(prometheus.HistogramOpts{
62 Namespace: "tempo",
63 Name: "memcache_request_duration_seconds",
64 Help: "Total time spent in seconds doing memcache requests.",
65 // Memcached requests are very quick: smallest bucket is 16us, biggest is 1s
66 Buckets: prometheus.ExponentialBuckets(0.000016, 4, 8),
67 NativeHistogramBucketFactor: 1.1,
68 NativeHistogramMaxBucketNumber: 100,
69 NativeHistogramMinResetDuration: 1 * time.Hour,
70 ConstLabels: prometheus.Labels{"name": name},
71 }, []string{"method", "status_code"}),
72 ),
73 }
74 return c
75}
76
77func memcacheStatusCode(err error) string {
78 // See https://godoc.org/github.com/bradfitz/gomemcache/memcache#pkg-variables

Callers 5

NewClientFunction · 0.92
TestMemcachedFunction · 0.92
TestMemcacheFailureFunction · 0.92
TestMemcacheStopFunction · 0.92

Calls

no outgoing calls

Tested by 4

TestMemcachedFunction · 0.74
TestMemcacheFailureFunction · 0.74
TestMemcacheStopFunction · 0.74