Skip to content

Commit b45e136

Browse files
Remove api namespace (#3066)
1 parent 928d484 commit b45e136

File tree

5 files changed

+34
-15
lines changed

5 files changed

+34
-15
lines changed

api/metrics/multi_gatherer.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,11 @@ func sortMetrics(m []*dto.MetricFamily) {
9393
return cmp.Compare(*i.Name, *j.Name)
9494
})
9595
}
96+
97+
func MakeAndRegister(gatherer MultiGatherer, name string) (*prometheus.Registry, error) {
98+
reg := prometheus.NewRegistry()
99+
if err := gatherer.Register(name, reg); err != nil {
100+
return nil, fmt.Errorf("couldn't register %q metrics: %w", name, err)
101+
}
102+
return reg, nil
103+
}

api/server/metrics.go

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,29 +18,26 @@ type metrics struct {
1818
totalDuration *prometheus.GaugeVec
1919
}
2020

21-
func newMetrics(namespace string, registerer prometheus.Registerer) (*metrics, error) {
21+
func newMetrics(registerer prometheus.Registerer) (*metrics, error) {
2222
m := &metrics{
2323
numProcessing: prometheus.NewGaugeVec(
2424
prometheus.GaugeOpts{
25-
Namespace: namespace,
26-
Name: "calls_processing",
27-
Help: "The number of calls this API is currently processing",
25+
Name: "calls_processing",
26+
Help: "The number of calls this API is currently processing",
2827
},
2928
[]string{"base"},
3029
),
3130
numCalls: prometheus.NewCounterVec(
3231
prometheus.CounterOpts{
33-
Namespace: namespace,
34-
Name: "calls",
35-
Help: "The number of calls this API has processed",
32+
Name: "calls",
33+
Help: "The number of calls this API has processed",
3634
},
3735
[]string{"base"},
3836
),
3937
totalDuration: prometheus.NewGaugeVec(
4038
prometheus.GaugeOpts{
41-
Namespace: namespace,
42-
Name: "calls_duration",
43-
Help: "The total amount of time, in nanoseconds, spent handling API calls",
39+
Name: "calls_duration",
40+
Help: "The total amount of time, in nanoseconds, spent handling API calls",
4441
},
4542
[]string{"base"},
4643
),

api/server/server.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,11 @@ func New(
108108
nodeID ids.NodeID,
109109
tracingEnabled bool,
110110
tracer trace.Tracer,
111-
namespace string,
112111
registerer prometheus.Registerer,
113112
httpConfig HTTPConfig,
114113
allowedHosts []string,
115114
) (Server, error) {
116-
m, err := newMetrics(namespace, registerer)
115+
m, err := newMetrics(registerer)
117116
if err != nil {
118117
return nil, err
119118
}

node/node.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ import (
6666
"github.com/ava-labs/avalanchego/utils/ips"
6767
"github.com/ava-labs/avalanchego/utils/logging"
6868
"github.com/ava-labs/avalanchego/utils/math/meter"
69+
"github.com/ava-labs/avalanchego/utils/metric"
6970
"github.com/ava-labs/avalanchego/utils/perms"
7071
"github.com/ava-labs/avalanchego/utils/profiler"
7172
"github.com/ava-labs/avalanchego/utils/resource"
@@ -89,6 +90,8 @@ const (
8990
httpPortName = constants.AppName + "-http"
9091

9192
ipResolutionTimeout = 30 * time.Second
93+
94+
apiNamespace = constants.PlatformName + metric.NamespaceSeparator + "api"
9295
)
9396

9497
var (
@@ -967,6 +970,14 @@ func (n *Node) initAPIServer() error {
967970
}
968971
n.apiURI = fmt.Sprintf("%s://%s", protocol, listener.Addr())
969972

973+
apiRegisterer, err := metrics.MakeAndRegister(
974+
n.MetricsGatherer,
975+
apiNamespace,
976+
)
977+
if err != nil {
978+
return err
979+
}
980+
970981
n.APIServer, err = server.New(
971982
n.Log,
972983
n.LogFactory,
@@ -976,8 +987,7 @@ func (n *Node) initAPIServer() error {
976987
n.ID,
977988
n.Config.TraceConfig.Enabled,
978989
n.tracer,
979-
"api",
980-
n.MetricsRegisterer,
990+
apiRegisterer,
981991
n.Config.HTTPConfig.HTTPConfig,
982992
n.Config.HTTPAllowedHosts,
983993
)

utils/metric/namespace.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,18 @@ package metric
55

66
import "strings"
77

8+
const (
9+
NamespaceSeparatorByte = '_'
10+
NamespaceSeparator = string(NamespaceSeparatorByte)
11+
)
12+
813
func AppendNamespace(prefix, suffix string) string {
914
switch {
1015
case len(prefix) == 0:
1116
return suffix
1217
case len(suffix) == 0:
1318
return prefix
1419
default:
15-
return strings.Join([]string{prefix, suffix}, "_")
20+
return strings.Join([]string{prefix, suffix}, NamespaceSeparator)
1621
}
1722
}

0 commit comments

Comments
 (0)