mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-29 04:55:31 +00:00
tsweb/varz: use default metrics.LabelMap.Label on serialization
To not break Prometheus if the label is unset. Updates tailscale/corp#12830 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
parent
2e19790f61
commit
79ee6d6e1e
@ -189,7 +189,7 @@ funcRet = fmt.Sprintf(" returning %T", v)
|
|||||||
// IntMap uses expvar.Map on the inside, which presorts
|
// IntMap uses expvar.Map on the inside, which presorts
|
||||||
// keys. The output ordering is deterministic.
|
// keys. The output ordering is deterministic.
|
||||||
v.Do(func(kv expvar.KeyValue) {
|
v.Do(func(kv expvar.KeyValue) {
|
||||||
fmt.Fprintf(w, "%s{%s=%q} %v\n", name, v.Label, kv.Key, kv.Value)
|
fmt.Fprintf(w, "%s{%s=%q} %v\n", name, cmpx.Or(v.Label, "label"), kv.Key, kv.Value)
|
||||||
})
|
})
|
||||||
case *expvar.Map:
|
case *expvar.Map:
|
||||||
if label != "" && typ != "" {
|
if label != "" && typ != "" {
|
||||||
|
@ -165,6 +165,16 @@ func() *expvar.Map {
|
|||||||
})(),
|
})(),
|
||||||
"control_save_config{reason=\"fun\"} 1\ncontrol_save_config{reason=\"new\"} 1\ncontrol_save_config{reason=\"updated\"} 1\n",
|
"control_save_config{reason=\"fun\"} 1\ncontrol_save_config{reason=\"new\"} 1\ncontrol_save_config{reason=\"updated\"} 1\n",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"metrics_label_map_unlabeled",
|
||||||
|
"foo",
|
||||||
|
(func() *metrics.LabelMap {
|
||||||
|
m := &metrics.LabelMap{Label: ""}
|
||||||
|
m.Add("a", 1)
|
||||||
|
return m
|
||||||
|
})(),
|
||||||
|
"foo{label=\"a\"} 1\n",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"expvar_label_map",
|
"expvar_label_map",
|
||||||
"counter_labelmap_keyname_m",
|
"counter_labelmap_keyname_m",
|
||||||
|
Loading…
Reference in New Issue
Block a user