|
|
|
|
@ -1028,19 +1028,21 @@ var ( |
|
|
|
|
|
|
|
|
|
// UPnP error metric that's keyed by code; lazily registered on first read
|
|
|
|
|
var ( |
|
|
|
|
metricUPnPErrorsByCode syncs.Map[string, *clientmetric.Metric] |
|
|
|
|
metricUPnPErrorsByCode syncs.Map[int, *clientmetric.Metric] |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
func getUPnPErrorsMetric(code int) *clientmetric.Metric { |
|
|
|
|
// Metric names cannot contain a hyphen, so we handle negative numbers
|
|
|
|
|
// by prefixing the name with a "minus_".
|
|
|
|
|
var codeStr string |
|
|
|
|
if code < 0 { |
|
|
|
|
codeStr = fmt.Sprintf("portmap_upnp_errors_with_code_minus_%d", -code) |
|
|
|
|
} else { |
|
|
|
|
codeStr = fmt.Sprintf("portmap_upnp_errors_with_code_%d", code) |
|
|
|
|
} |
|
|
|
|
mm, _ := metricUPnPErrorsByCode.LoadOrInit(code, func() *clientmetric.Metric { |
|
|
|
|
// Metric names cannot contain a hyphen, so we handle negative
|
|
|
|
|
// numbers by prefixing the name with a "minus_".
|
|
|
|
|
var codeStr string |
|
|
|
|
if code < 0 { |
|
|
|
|
codeStr = fmt.Sprintf("portmap_upnp_errors_with_code_minus_%d", -code) |
|
|
|
|
} else { |
|
|
|
|
codeStr = fmt.Sprintf("portmap_upnp_errors_with_code_%d", code) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
mm, _ := metricUPnPErrorsByCode.LoadOrInit(codeStr, func() *clientmetric.Metric { return clientmetric.NewCounter(codeStr) }) |
|
|
|
|
return clientmetric.NewCounter(codeStr) |
|
|
|
|
}) |
|
|
|
|
return mm |
|
|
|
|
} |
|
|
|
|
|