File tree Expand file tree Collapse file tree 2 files changed +38
-0
lines changed Expand file tree Collapse file tree 2 files changed +38
-0
lines changed Original file line number Diff line number Diff line change
1
+ // Copyright 2020 The Prometheus Authors
2
+ // Licensed under the Apache License, Version 2.0 (the "License");
3
+ // you may not use this file except in compliance with the License.
4
+ // You may obtain a copy of the License at
5
+ //
6
+ // http://www.apache.org/licenses/LICENSE-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ // See the License for the specific language governing permissions and
12
+ // limitations under the License.
13
+
14
+ package promauto
15
+
16
+ import (
17
+ "testing"
18
+
19
+ "github.com/prometheus/client_golang/prometheus"
20
+ )
21
+
22
+ func TestWrapNil (t * testing.T ) {
23
+ // A nil registerer should be treated as a no-op by promauto, even when wrapped.
24
+ registerer := prometheus .WrapRegistererWith (prometheus.Labels {"foo" : "bar" }, nil )
25
+ c := With (registerer ).NewCounter (prometheus.CounterOpts {
26
+ Name : "test" ,
27
+ })
28
+ c .Inc ()
29
+ }
Original file line number Diff line number Diff line change @@ -81,6 +81,9 @@ type wrappingRegisterer struct {
81
81
}
82
82
83
83
func (r * wrappingRegisterer ) Register (c Collector ) error {
84
+ if r .wrappedRegisterer == nil {
85
+ return nil
86
+ }
84
87
return r .wrappedRegisterer .Register (& wrappingCollector {
85
88
wrappedCollector : c ,
86
89
prefix : r .prefix ,
@@ -89,6 +92,9 @@ func (r *wrappingRegisterer) Register(c Collector) error {
89
92
}
90
93
91
94
func (r * wrappingRegisterer ) MustRegister (cs ... Collector ) {
95
+ if r .wrappedRegisterer == nil {
96
+ return
97
+ }
92
98
for _ , c := range cs {
93
99
if err := r .Register (c ); err != nil {
94
100
panic (err )
@@ -97,6 +103,9 @@ func (r *wrappingRegisterer) MustRegister(cs ...Collector) {
97
103
}
98
104
99
105
func (r * wrappingRegisterer ) Unregister (c Collector ) bool {
106
+ if r .wrappedRegisterer == nil {
107
+ return false
108
+ }
100
109
return r .wrappedRegisterer .Unregister (& wrappingCollector {
101
110
wrappedCollector : c ,
102
111
prefix : r .prefix ,
You can’t perform that action at this time.
0 commit comments