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.
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 '_'

View file

@ -237,11 +237,13 @@ func removeSuffix(tokens []string, suffix string) []string {
// Clean up specified string so it's Prometheus compliant
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 {
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