storage/remote/codec.go
func validateLabelsAndMetricName(ls labels.Labels) error {
	for _, l := range ls {
		if l.Name == labels.MetricName && !model.IsValidMetricName(model.LabelValue(l.Value)) {
			return errors.Errorf("invalid metric name: %v", l.Value)
		}
		if !model.LabelName(l.Name).IsValid() {
			return errors.Errorf("invalid label name: %v", l.Name)
		}
		if !model.LabelValue(l.Value).IsValid() {
			return errors.Errorf("invalid label value: %v", l.Value)
		}
	}
	return nil
}
func validateLabelsAndMetricName(ls labels.Labels) error {
	for _, l := range ls {
		if l.Name == labels.MetricName && !model.IsValidMetricName(model.LabelValue(l.Value)) {
			return errors.Errorf("invalid metric name: %v", l.Value)
		}
		if !model.LabelName(l.Name).IsValid() {
			return errors.Errorf("invalid label name: %v", l.Name)
		}
		if !model.LabelValue(l.Value).IsValid() {
			return errors.Errorf("invalid label value: %v", l.Value)
		}
	}
	return nil
}
func validateLabelsAndMetricName ( ls labels . Labels ) error { for _ , l := range ls { if l . Name == labels . MetricName && ! model . IsValidMetricName ( model . LabelValue ( l . Value ) ) { return errors . Errorf ( " " , l . Value ) } if ! model . LabelName ( l . Name ) . IsValid ( ) { return errors . Errorf ( " " , l . Name ) } if ! model . LabelValue ( l . Value ) . IsValid ( ) { return errors . Errorf ( " " , l . Value ) } } return nil }
// validateLabelsAndMetricName validates the label names/values and metric names returned from remote read.
validateLabelsAndMetricName validates the label names / values and metric names returned from remote read .