def _normalize_label_key()

in opentelemetry-exporter-gcp-monitoring/src/opentelemetry/exporter/cloud_monitoring/__init__.py [0:0]


def _normalize_label_key(key: str) -> str:
    """Makes the key into a valid GCM label key

    See reference impl
    https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/blob/e955c204f4f2bfdc92ff0ad52786232b975efcc2/exporter/metric/metric.go#L595-L604
    """
    sanitized = "".join(
        c if c.isalpha() or c.isnumeric() else "_" for c in key
    )
    if sanitized[0].isdigit():
        sanitized = "key_" + sanitized
    return sanitized