Skip to content

Commit 7e56747

Browse files
Support caller-defined namespaces in merkledb (#3747)
Signed-off-by: Joshua Kim <20001595+joshua-kim@users.noreply.github.com> Co-authored-by: Stephen Buttolph <stephen@avalabs.org>
1 parent c08d7aa commit 7e56747

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

x/merkledb/db.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ type Config struct {
190190
// Prometheus.
191191
// This may be useful for testing.
192192
Reg prometheus.Registerer
193+
Namespace string
193194
TraceLevel TraceLevel
194195
Tracer trace.Tracer
195196
}
@@ -245,7 +246,7 @@ type merkleDB struct {
245246

246247
// New returns a new merkle database.
247248
func New(ctx context.Context, db database.Database, config Config) (MerkleDB, error) {
248-
metrics, err := newMetrics("merkledb", config.Reg)
249+
metrics, err := newMetrics(config.Namespace, config.Reg)
249250
if err != nil {
250251
return nil, err
251252
}

x/merkledb/metrics.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ import (
88
"sync"
99

1010
"github.com/prometheus/client_golang/prometheus"
11+
12+
"github.com/ava-labs/avalanchego/utils/metric"
1113
)
1214

1315
const (
@@ -93,11 +95,13 @@ type prometheusMetrics struct {
9395
lookup *prometheus.CounterVec
9496
}
9597

96-
func newMetrics(namespace string, reg prometheus.Registerer) (metrics, error) {
98+
func newMetrics(prefix string, reg prometheus.Registerer) (metrics, error) {
9799
// TODO: Should we instead return an error if reg is nil?
98100
if reg == nil {
99101
return &mockMetrics{}, nil
100102
}
103+
104+
namespace := metric.AppendNamespace(prefix, "merkledb")
101105
m := prometheusMetrics{
102106
hashes: prometheus.NewCounter(prometheus.CounterOpts{
103107
Namespace: namespace,

0 commit comments

Comments
 (0)