bugfix: Fix otlp translation of foreign characters

Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
This commit is contained in:
Arthur Silva Sens 2024-10-30 19:29:31 -03:00
parent 8588289c24
commit ea06f1a1d1
No known key found for this signature in database
2 changed files with 5 additions and 3 deletions

View file

@ -49,7 +49,7 @@ func NormalizeLabel(label string) string {
// Return '_' for anything non-alphanumeric. // Return '_' for anything non-alphanumeric.
func sanitizeRune(r rune) rune { func sanitizeRune(r rune) rune {
if unicode.IsLetter(r) || unicode.IsDigit(r) { if unicode.IsLower(r) || unicode.IsUpper(r) || unicode.IsDigit(r) {
return r return r
} }
return '_' return '_'

View file

@ -237,11 +237,13 @@ func removeSuffix(tokens []string, suffix string) []string {
// Clean up specified string so it's Prometheus compliant // Clean up specified string so it's Prometheus compliant
func CleanUpString(s string) string { func CleanUpString(s string) string {
return strings.Join(strings.FieldsFunc(s, func(r rune) bool { return !unicode.IsLetter(r) && !unicode.IsDigit(r) }), "_") return strings.Join(strings.FieldsFunc(s, func(r rune) bool { return !unicode.IsUpper(r) && !unicode.IsLower(r) && !unicode.IsDigit(r) }), "_")
} }
func RemovePromForbiddenRunes(s string) string { func RemovePromForbiddenRunes(s string) string {
return strings.Join(strings.FieldsFunc(s, func(r rune) bool { return !unicode.IsLetter(r) && !unicode.IsDigit(r) && r != '_' && r != ':' }), "_") return strings.Join(strings.FieldsFunc(s, func(r rune) bool {
return !unicode.IsUpper(r) && !unicode.IsLower(r) && !unicode.IsDigit(r) && r != '_' && r != ':'
}), "_")
} }
// Retrieve the Prometheus "basic" unit corresponding to the specified "basic" unit // Retrieve the Prometheus "basic" unit corresponding to the specified "basic" unit