From e18dc0b9ce3c363137be4a7637c3d7bb43ee837d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20LOYET?= <822436+fatpat@users.noreply.github.com> Date: Mon, 30 Dec 2024 09:10:35 +0100 Subject: [PATCH] improve expr float() and int() to handle strings --- pkg/metrics/parser.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkg/metrics/parser.go b/pkg/metrics/parser.go index 6bb01de..a814401 100644 --- a/pkg/metrics/parser.go +++ b/pkg/metrics/parser.go @@ -84,6 +84,12 @@ func toInt64(i interface{}) int64 { return v case time.Duration: return int64(v) + case string: + value, err := strconv.ParseInt(v, 10, 64) + if err != nil { + panic(err) + } + return value default: return v.(int64) // Hope for the best } @@ -103,6 +109,12 @@ func toFloat64(i interface{}) float64 { return float64(v) case time.Duration: return float64(v) + case string: + value, err := strconv.ParseFloat(v, 64) + if err != nil { + panic(err) + } + return value default: return v.(float64) // Hope for the best }