func()

in pkg/metricgen/config.go [49:73]


func (cfg config) Validate() error {
	var errs []error
	if cfg.apmServiceName == "" && cfg.otlpServiceName == "" {
		errs = append(errs, errors.New("both APM service name and OTLP service name cannot be empty"))
	}

	if cfg.apmServerURL == "" {
		errs = append(errs, errors.New("APM server URL cannot be empty"))
	}
	if cfg.apiKey == "" {
		errs = append(errs, errors.New("API Key cannot be empty"))
	}

	switch cfg.otlpProtocol {
	case httpOTLPProtocol, grpcOTLPProtocol:
	default:
		errs = append(errs, fmt.Errorf("unknown otlp protocol: %s", cfg.otlpProtocol))
	}

	if len(errs) > 0 {
		return errors.Join(errs...)
	}

	return nil
}