code: func NewCCache() *CCache {
  	if maxSize == 0 {
  		return nil
  	}
  
  	cc := &CCache{
  		metricCache:   make(map[schema.AMKey]*CCacheMetric),
  		metricRawKeys: make(map[schema.MKey]map[schema.Archive]struct{}),
  		accnt:         accnt.NewFlatAccnt(maxSize),
  		stop:          make(chan interface{}),
  		tracer:        opentracing.NoopTracer{},
  	}
  	go cc.evictLoop()
  	return cc
  }
docs: // NewCCache creates a new chunk cache.
  // When cache is disabled, this will return nil
  // but the caller doesn't have to worry about this and can call methods as usual on a nil cache