mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-25 19:15:34 +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
|
||||
// keys. The output ordering is deterministic.
|
||||
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:
|
||||
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",
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"counter_labelmap_keyname_m",
|
||||
|
Loading…
Reference in New Issue
Block a user