func()

in cmd/collector/config/config.go [290:334]


func (w *OtelMetric) Validate() error {
	if w.Database == "" {
		return errors.New("otel-metric.database must be set")
	}

	if w.Path == "" && w.GrpcPort == 0 {
		return errors.New("otel-metric.path or otel-metric.grpc-port must be set")
	}

	if w.GrpcPort != 0 {
		if w.GrpcPort < 1 || w.GrpcPort > 65535 {
			return errors.New("otel-metric.grpc-port must be between 1 and 65535")
		}
	}

	for k, v := range w.AddLabels {
		if k == "" {
			return errors.New("otel-metric.add-labels key must be set")
		}
		if v == "" {
			return errors.New("otel-metric.add-labels value must be set")
		}
	}

	for k, v := range w.DropLabels {
		if k == "" {
			return errors.New("otel-metric.drop-labels key must be set")
		}
		if v == "" {
			return errors.New("otel-metric.drop-labels value must be set")
		}
	}

	for _, v := range w.KeepMetricsWithLabelValue {
		if v.LabelRegex == "" {
			return errors.New("otel-metric.keep-metrics-with-label-value label-regex must be set")
		}

		if v.ValueRegex == "" {
			return errors.New("otel-metric.keep-metrics-with-label-value value-regex must be set")
		}
	}

	return nil
}