code: func (s *StatsdCollectorClient) NewStatsdCollector(name string) metricCollector.MetricCollector {
  	if s.client == nil {
  		log.Fatalf("Statsd client must be initialized before circuits are created.")
  	}
  	name = strings.Replace(name, "/", "-", -1)
  	name = strings.Replace(name, ":", "-", -1)
  	name = strings.Replace(name, ".", "-", -1)
  	return &StatsdCollector{
  		client:                  s.client,
  		circuitOpenPrefix:       name + ".circuitOpen",
  		attemptsPrefix:          name + ".attempts",
  		errorsPrefix:            name + ".errors",
  		successesPrefix:         name + ".successes",
  		failuresPrefix:          name + ".failures",
  		rejectsPrefix:           name + ".rejects",
  		shortCircuitsPrefix:     name + ".shortCircuits",
  		timeoutsPrefix:          name + ".timeouts",
  		fallbackSuccessesPrefix: name + ".fallbackSuccesses",
  		fallbackFailuresPrefix:  name + ".fallbackFailures",
  		canceledPrefix:          name + ".contextCanceled",
  		deadlinePrefix:          name + ".contextDeadlineExceeded",
  		totalDurationPrefix:     name + ".totalDuration",
  		runDurationPrefix:       name + ".runDuration",
  		concurrencyInUsePrefix:  name + ".concurrencyInUse",
  		sampleRate:              s.sampleRate,
  	}
  }
docs: // NewStatsdCollector creates a collector for a specific circuit. The
  // prefix given to this circuit will be {config.Prefix}.{circuit_name}.{metric}.
  // Circuits with "/" in their names will have them replaced with ".".