code: func (sink *influxdbSink) checkSanitizedMetricLabels(labels map[string]string) error {
  	// label names have the same restrictions as metric names, here
  	for k, v := range labels {
  		if !metricAllowedChars.MatchString(k) {
  			return fmt.Errorf("Invalid label name %q", k)
  		}
  
  		// for metric values, we're somewhat more permissive.  We allow any
  		// Printable unicode character, except quotation marks, which are used
  		// to delimit things.
  		if strings.ContainsRune(v, '"') || strings.ContainsRune(v, '\'') {
  			return fmt.Errorf("Invalid label value %q", v)
  		}
  
  		for _, runeVal := range v {
  			if !unicode.IsPrint(runeVal) {
  				return fmt.Errorf("Invalid label value %q", v)
  			}
  		}
  	}
  
  	return nil
  }
docs: // checkSanitizedMetricLabels errors out if invalid characters are found in the label name or label value, since
  // InfluxDb does not widely support bound parameters yet, and we need to sanitize our inputs.