http-add-on/scaler/naming.go

26 lines
440 B
Go

package main
import (
"fmt"
"regexp"
"k8s.io/apimachinery/pkg/types"
)
var (
unsafeChars = regexp.MustCompile(`[^-.0-9A-Za-z]`)
)
func escapeRune(r string) string {
return fmt.Sprintf("_%04X", r)
}
func escapeString(s string) string {
return unsafeChars.ReplaceAllStringFunc(s, escapeRune)
}
func MetricName(namespacedName *types.NamespacedName) string {
mn := fmt.Sprintf("http-%v", namespacedName)
return escapeString(mn)
}