SigNoz/signoz · error

invalid_config

invalid_config

Error message

static meter collector: name must be set

What it means

StaticConfig.Validate rejects a static meter collector config whose Name (a valuer.UUID-style identifier) is zero. Every collector must be named so meters can be attributed and deduplicated.

Source

Thrown at pkg/metercollector/config.go:48

type TelemetryConfig struct {
	Name                 zeustypes.MeterName
	Unit                 zeustypes.MeterUnit
	Aggregation          zeustypes.MeterAggregation
	DBName               string
	TableName            string
	DefaultRetentionDays int
}

type StaticConfig struct {
	Name        zeustypes.MeterName
	Unit        zeustypes.MeterUnit
	Aggregation zeustypes.MeterAggregation
	Value       int64
}

func (c StaticConfig) Validate() error {
	if c.Name.IsZero() {
		return errors.New(errors.TypeInvalidInput, ErrCodeInvalidConfig, "static meter collector: name must be set")
	}

	return nil
}

func (c TelemetryConfig) Validate() error {
	if c.Name.IsZero() {
		return errors.New(errors.TypeInvalidInput, ErrCodeInvalidConfig, "telemetry meter collector: name must be set")
	}

	if c.DBName == "" || c.TableName == "" {
		return errors.New(errors.TypeInvalidInput, ErrCodeInvalidConfig, "telemetry meter collector: db_name and table_name are required")
	}

	if c.DefaultRetentionDays <= 0 {
		return errors.New(errors.TypeInvalidInput, ErrCodeInvalidConfig, "telemetry meter collector: default_retention_days must be positive")
	}

View on GitHub (pinned to 5069bf80b0)

Solutions

  1. Set a unique, non-zero Name on the static collector config
  2. Add config-schema validation/linting so `name` is required before startup

Example fix

// before
static: { aggregation: SUM, value: 10 }
// after
static: { name: 00000000-0000-0000-0000-000000000001, aggregation: SUM, value: 10 }
Defensive patterns

Strategy: validation

Validate before calling

if cfg.Name.IsZero() { return fmt.Errorf("static collector requires name") }

Prevention

When it happens

Trigger: Constructing metercollector.StaticConfig{Name: zero} (empty or omitted name in config) and calling Validate, typically during app config validation.

Common situations: YAML config for static meter collectors missing the `name` field; programmatic configs built from templates that skip Name.

Understand the failure class

Background: Config validation failed: what "invalid value for {key}" and settings-rejection errors mean across 19 open-source libraries — this error's family across 19 libraries.

Related errors


AI-assisted analysis of SigNoz/signoz@5069bf80b0 (2026-08-28). Data as JSON: /api/errors/29193f332282070a. Report an issue: GitHub.