@@ -24,6 +24,11 @@ import (
24
24
"go.opentelemetry.io/otel/metric/instrument"
25
25
)
26
26
27
+ // unwrapper unwraps to return the underlying instrument implementation.
28
+ type unwrapper interface {
29
+ Unwrap () instrument.Asynchronous
30
+ }
31
+
27
32
type afCounter struct {
28
33
name string
29
34
opts []instrument.Float64ObserverOption
@@ -33,6 +38,9 @@ type afCounter struct {
33
38
instrument.Asynchronous
34
39
}
35
40
41
+ var _ unwrapper = (* afCounter )(nil )
42
+ var _ instrument.Float64ObservableCounter = (* afCounter )(nil )
43
+
36
44
func (i * afCounter ) setDelegate (m metric.Meter ) {
37
45
ctr , err := m .Float64ObservableCounter (i .name , i .opts ... )
38
46
if err != nil {
@@ -48,7 +56,7 @@ func (i *afCounter) Observe(ctx context.Context, x float64, attrs ...attribute.K
48
56
}
49
57
}
50
58
51
- func (i * afCounter ) unwrap () instrument.Asynchronous {
59
+ func (i * afCounter ) Unwrap () instrument.Asynchronous {
52
60
if ctr := i .delegate .Load (); ctr != nil {
53
61
return ctr .(instrument.Float64ObservableCounter )
54
62
}
@@ -64,6 +72,9 @@ type afUpDownCounter struct {
64
72
instrument.Asynchronous
65
73
}
66
74
75
+ var _ unwrapper = (* afUpDownCounter )(nil )
76
+ var _ instrument.Float64ObservableUpDownCounter = (* afUpDownCounter )(nil )
77
+
67
78
func (i * afUpDownCounter ) setDelegate (m metric.Meter ) {
68
79
ctr , err := m .Float64ObservableUpDownCounter (i .name , i .opts ... )
69
80
if err != nil {
@@ -79,7 +90,7 @@ func (i *afUpDownCounter) Observe(ctx context.Context, x float64, attrs ...attri
79
90
}
80
91
}
81
92
82
- func (i * afUpDownCounter ) unwrap () instrument.Asynchronous {
93
+ func (i * afUpDownCounter ) Unwrap () instrument.Asynchronous {
83
94
if ctr := i .delegate .Load (); ctr != nil {
84
95
return ctr .(instrument.Float64ObservableUpDownCounter )
85
96
}
@@ -104,13 +115,16 @@ func (i *afGauge) setDelegate(m metric.Meter) {
104
115
i .delegate .Store (ctr )
105
116
}
106
117
118
+ var _ unwrapper = (* afGauge )(nil )
119
+ var _ instrument.Float64ObservableGauge = (* afGauge )(nil )
120
+
107
121
func (i * afGauge ) Observe (ctx context.Context , x float64 , attrs ... attribute.KeyValue ) {
108
122
if ctr := i .delegate .Load (); ctr != nil {
109
123
ctr .(instrument.Float64ObservableGauge ).Observe (ctx , x , attrs ... )
110
124
}
111
125
}
112
126
113
- func (i * afGauge ) unwrap () instrument.Asynchronous {
127
+ func (i * afGauge ) Unwrap () instrument.Asynchronous {
114
128
if ctr := i .delegate .Load (); ctr != nil {
115
129
return ctr .(instrument.Float64ObservableGauge )
116
130
}
@@ -126,6 +140,9 @@ type aiCounter struct {
126
140
instrument.Asynchronous
127
141
}
128
142
143
+ var _ unwrapper = (* aiCounter )(nil )
144
+ var _ instrument.Int64ObservableCounter = (* aiCounter )(nil )
145
+
129
146
func (i * aiCounter ) setDelegate (m metric.Meter ) {
130
147
ctr , err := m .Int64ObservableCounter (i .name , i .opts ... )
131
148
if err != nil {
@@ -141,7 +158,7 @@ func (i *aiCounter) Observe(ctx context.Context, x int64, attrs ...attribute.Key
141
158
}
142
159
}
143
160
144
- func (i * aiCounter ) unwrap () instrument.Asynchronous {
161
+ func (i * aiCounter ) Unwrap () instrument.Asynchronous {
145
162
if ctr := i .delegate .Load (); ctr != nil {
146
163
return ctr .(instrument.Int64ObservableCounter )
147
164
}
@@ -157,6 +174,9 @@ type aiUpDownCounter struct {
157
174
instrument.Asynchronous
158
175
}
159
176
177
+ var _ unwrapper = (* aiUpDownCounter )(nil )
178
+ var _ instrument.Int64ObservableUpDownCounter = (* aiUpDownCounter )(nil )
179
+
160
180
func (i * aiUpDownCounter ) setDelegate (m metric.Meter ) {
161
181
ctr , err := m .Int64ObservableUpDownCounter (i .name , i .opts ... )
162
182
if err != nil {
@@ -172,7 +192,7 @@ func (i *aiUpDownCounter) Observe(ctx context.Context, x int64, attrs ...attribu
172
192
}
173
193
}
174
194
175
- func (i * aiUpDownCounter ) unwrap () instrument.Asynchronous {
195
+ func (i * aiUpDownCounter ) Unwrap () instrument.Asynchronous {
176
196
if ctr := i .delegate .Load (); ctr != nil {
177
197
return ctr .(instrument.Int64ObservableUpDownCounter )
178
198
}
@@ -188,6 +208,9 @@ type aiGauge struct {
188
208
instrument.Asynchronous
189
209
}
190
210
211
+ var _ unwrapper = (* aiGauge )(nil )
212
+ var _ instrument.Int64ObservableGauge = (* aiGauge )(nil )
213
+
191
214
func (i * aiGauge ) setDelegate (m metric.Meter ) {
192
215
ctr , err := m .Int64ObservableGauge (i .name , i .opts ... )
193
216
if err != nil {
@@ -203,7 +226,7 @@ func (i *aiGauge) Observe(ctx context.Context, x int64, attrs ...attribute.KeyVa
203
226
}
204
227
}
205
228
206
- func (i * aiGauge ) unwrap () instrument.Asynchronous {
229
+ func (i * aiGauge ) Unwrap () instrument.Asynchronous {
207
230
if ctr := i .delegate .Load (); ctr != nil {
208
231
return ctr .(instrument.Int64ObservableGauge )
209
232
}
@@ -220,6 +243,8 @@ type sfCounter struct {
220
243
instrument.Synchronous
221
244
}
222
245
246
+ var _ instrument.Float64Counter = (* sfCounter )(nil )
247
+
223
248
func (i * sfCounter ) setDelegate (m metric.Meter ) {
224
249
ctr , err := m .Float64Counter (i .name , i .opts ... )
225
250
if err != nil {
@@ -244,6 +269,8 @@ type sfUpDownCounter struct {
244
269
instrument.Synchronous
245
270
}
246
271
272
+ var _ instrument.Float64UpDownCounter = (* sfUpDownCounter )(nil )
273
+
247
274
func (i * sfUpDownCounter ) setDelegate (m metric.Meter ) {
248
275
ctr , err := m .Float64UpDownCounter (i .name , i .opts ... )
249
276
if err != nil {
@@ -268,6 +295,8 @@ type sfHistogram struct {
268
295
instrument.Synchronous
269
296
}
270
297
298
+ var _ instrument.Float64Histogram = (* sfHistogram )(nil )
299
+
271
300
func (i * sfHistogram ) setDelegate (m metric.Meter ) {
272
301
ctr , err := m .Float64Histogram (i .name , i .opts ... )
273
302
if err != nil {
@@ -292,6 +321,8 @@ type siCounter struct {
292
321
instrument.Synchronous
293
322
}
294
323
324
+ var _ instrument.Int64Counter = (* siCounter )(nil )
325
+
295
326
func (i * siCounter ) setDelegate (m metric.Meter ) {
296
327
ctr , err := m .Int64Counter (i .name , i .opts ... )
297
328
if err != nil {
@@ -316,6 +347,8 @@ type siUpDownCounter struct {
316
347
instrument.Synchronous
317
348
}
318
349
350
+ var _ instrument.Int64UpDownCounter = (* siUpDownCounter )(nil )
351
+
319
352
func (i * siUpDownCounter ) setDelegate (m metric.Meter ) {
320
353
ctr , err := m .Int64UpDownCounter (i .name , i .opts ... )
321
354
if err != nil {
@@ -340,6 +373,8 @@ type siHistogram struct {
340
373
instrument.Synchronous
341
374
}
342
375
376
+ var _ instrument.Int64Histogram = (* siHistogram )(nil )
377
+
343
378
func (i * siHistogram ) setDelegate (m metric.Meter ) {
344
379
ctr , err := m .Int64Histogram (i .name , i .opts ... )
345
380
if err != nil {
0 commit comments