38
38
from opentelemetry .metrics ._internal .observation import Observation
39
39
from opentelemetry .util .types import (
40
40
Attributes ,
41
- MetricsCommonAdvisory ,
42
- MetricsHistogramAdvisory ,
43
- MetricsInstrumentAdvisory ,
44
41
)
45
42
46
43
_logger = getLogger (__name__ )
49
46
_unit_regex = re_compile (r"[\x00-\x7F]{0,63}" )
50
47
51
48
49
+ @dataclass (frozen = True )
50
+ class MetricsHistogramAdvisory :
51
+ explicit_bucket_boundaries : Optional [Sequence [float ]] = None
52
+
53
+
54
+ @dataclass (frozen = True )
55
+ class MetricsCommonAdvisory :
56
+ pass
57
+
58
+
59
+ _MetricsInstrumentAdvisory = Union [
60
+ MetricsCommonAdvisory , MetricsHistogramAdvisory
61
+ ]
62
+
63
+
52
64
@dataclass (frozen = True )
53
65
class CallbackOptions :
54
66
"""Options for the callback
@@ -78,7 +90,7 @@ def __init__(
78
90
name : str ,
79
91
unit : str = "" ,
80
92
description : str = "" ,
81
- advisory : Optional [MetricsInstrumentAdvisory ] = None ,
93
+ advisory : Optional [_MetricsInstrumentAdvisory ] = None ,
82
94
) -> None :
83
95
pass
84
96
@@ -124,7 +136,7 @@ def __init__(
124
136
name : str ,
125
137
unit : str = "" ,
126
138
description : str = "" ,
127
- advisory : Optional [MetricsInstrumentAdvisory ] = None ,
139
+ advisory : Optional [_MetricsInstrumentAdvisory ] = None ,
128
140
) -> None :
129
141
self ._name = name
130
142
self ._unit = unit
@@ -152,7 +164,7 @@ def __init__(
152
164
callbacks : Optional [Sequence [CallbackT ]] = None ,
153
165
unit : str = "" ,
154
166
description : str = "" ,
155
- advisory : Optional [MetricsInstrumentAdvisory ] = None ,
167
+ advisory : Optional [_MetricsInstrumentAdvisory ] = None ,
156
168
) -> None :
157
169
super ().__init__ (name , unit , description , advisory = advisory )
158
170
self ._callbacks = callbacks
@@ -172,7 +184,7 @@ def __init__(
172
184
callbacks : Optional [Sequence [CallbackT ]] = None ,
173
185
unit : str = "" ,
174
186
description : str = "" ,
175
- advisory : Optional [MetricsInstrumentAdvisory ] = None ,
187
+ advisory : Optional [_MetricsInstrumentAdvisory ] = None ,
176
188
) -> None :
177
189
super ().__init__ (
178
190
name , unit = unit , description = description , advisory = advisory
0 commit comments