JuliusBrussee/caveman · error

telemetry attributes exceed %d keys

Error message

telemetry attributes exceed %d keys

What it means

Error "telemetry attributes exceed %d keys" thrown in JuliusBrussee/caveman.

Source

Thrown at shared/platform/telemetry/span.go:257

		}
	}
	if strings.Contains(lower, "api_key") || strings.Contains(lower, "access_token") || strings.Contains(lower, "refresh_token") {
		return false
	}
	return true
}

// SanitizeAttributes returns a deterministic copy. Sensitive keys are removed;
// malformed or oversized metadata fails closed so callers can reject the record.
func SanitizeAttributes(attrs map[string]string) (map[string]string, error) {
	keys := make([]string, 0, len(attrs))
	for key := range attrs {
		if AttributeAllowed(key) {
			keys = append(keys, key)
		}
	}
	if len(keys) > MaxAttributes {
		return nil, fmt.Errorf("telemetry attributes exceed %d keys", MaxAttributes)
	}
	sort.Strings(keys)
	out := make(map[string]string, len(keys))
	total := 0
	for _, key := range keys {
		value := attrs[key]
		if len(key) > MaxAttributeKeyBytes {
			return nil, fmt.Errorf("telemetry attribute key exceeds %d bytes", MaxAttributeKeyBytes)
		}
		if len(value) > MaxAttributeValueBytes {
			return nil, fmt.Errorf("telemetry attribute %q exceeds %d bytes", key, MaxAttributeValueBytes)
		}
		total += len(key) + len(value)
		if total > MaxAttributesBytes {
			return nil, fmt.Errorf("telemetry attributes exceed %d bytes", MaxAttributesBytes)
		}
		out[key] = value
	}

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Reduce the number of telemetry attribute keys below the limit.

When it happens

Trigger: Thrown at shared/platform/telemetry/span.go:257 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15). Data as JSON: /api/errors/dfca89f0144907ad. Report an issue: GitHub.