diff --git a/tsweb/tsweb.go b/tsweb/tsweb.go index 8ba1a52a7..a42f59dcd 100644 --- a/tsweb/tsweb.go +++ b/tsweb/tsweb.go @@ -474,7 +474,7 @@ func writePromExpVar(w io.Writer, prefix string, kv expvar.KeyValue) { label, key = a, b } } - name := prefix + key + name := strings.ReplaceAll(prefix+key, "-", "_") switch v := kv.Value.(type) { case PrometheusVar: diff --git a/tsweb/tsweb_test.go b/tsweb/tsweb_test.go index a38b671c9..d571a3773 100644 --- a/tsweb/tsweb_test.go +++ b/tsweb/tsweb_test.go @@ -359,6 +359,12 @@ func TestVarzHandler(t *testing.T) { new(expvar.Int), "# TYPE foo counter\nfoo 0\n", }, + { + "dash_in_metric_name", + "counter_foo-bar", + new(expvar.Int), + "# TYPE foo_bar counter\nfoo_bar 0\n", + }, { "int_with_type_counter", "counter_foo",