Skip to content

Commit 6724aba

Browse files
committed
simplify SingleLabeled metrics: just accept a string when registering a metric
Signed-off-by: Eugene <[email protected]>
1 parent 80149ab commit 6724aba

File tree

2 files changed

+2
-22
lines changed

2 files changed

+2
-22
lines changed

prometheus/promsafe/safe.go

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -163,28 +163,8 @@ func NewCounterFuncT(opts prometheus.CounterOpts, function func() float64) prome
163163
// Shorthand for Metrics with a single label
164164
//
165165

166-
// singleLabelProviderMarker is a marker interface for enforcing type-safety of SingleLabelProvider.
167-
type singleLabelProviderMarker interface {
168-
singleLabelProviderMarker()
169-
}
170-
171-
// SingleLabelProvider is a type used for declaring a single label only.
172-
// When declaring a metric it's values used as a label name
173-
// When calling With() it's values used as a label value
174-
type SingleLabelProvider string
175-
176-
var _ singleLabelProviderMarker = SingleLabelProvider("")
177-
178-
func (s SingleLabelProvider) singleLabelProviderMarker() {
179-
panic("singleLabelProviderMarker interface method should never be called")
180-
}
181-
182166
// NewCounterVecT1 creates a new CounterVecT with the only single label
183-
func NewCounterVecT1(opts prometheus.CounterOpts, singleLabelProvider singleLabelProviderMarker) *CounterVecT1 {
184-
// labelName is the string itself
185-
// and singleLabelProviderMarker here can ONLY be SingleLabelProvider
186-
labelName := string(singleLabelProvider.(SingleLabelProvider))
187-
167+
func NewCounterVecT1(opts prometheus.CounterOpts, labelName string) *CounterVecT1 {
188168
var inner *prometheus.CounterVec
189169
if factory != nil {
190170
inner = factory.NewCounterVec(opts, []string{labelName})

prometheus/promsafe/safe_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ func ExampleNewCounterVecT_single_label_manual() {
124124

125125
c := promsafe.NewCounterVecT1(prometheus.CounterOpts{
126126
Name: "items_counted_by_status",
127-
}, promsafe.SingleLabelProvider("status"))
127+
}, "status")
128128

129129
// Manually register the counter
130130
if err := prometheus.Register(c.Unsafe()); err != nil {

0 commit comments

Comments
 (0)