|
19 | 19 | ObservableGauge,
|
20 | 20 | ObservableUpDownCounter,
|
21 | 21 | UpDownCounter,
|
| 22 | + _Gauge as Gauge, |
22 | 23 | )
|
23 | 24 | from opentelemetry.sdk.metrics import MeterProvider as SDKMeterProvider
|
24 | 25 | from opentelemetry.trace import get_current_span
|
|
27 | 28 | from .tracer import _LogfireWrappedSpan # type: ignore
|
28 | 29 | from .utils import handle_internal_errors
|
29 | 30 |
|
30 |
| -try: |
31 |
| - # This only exists in opentelemetry-sdk>=1.23.0 |
32 |
| - from opentelemetry.metrics import _Gauge |
33 |
| - |
34 |
| - Gauge = _Gauge |
35 |
| -except ImportError: # pragma: no cover |
36 |
| - Gauge = None |
37 |
| - |
38 | 31 |
|
39 | 32 | # The following proxy classes are adapted from OTEL's SDK
|
40 | 33 | @dataclasses.dataclass
|
@@ -160,14 +153,7 @@ def create_gauge(
|
160 | 153 | name: str,
|
161 | 154 | unit: str = '',
|
162 | 155 | description: str = '',
|
163 |
| - ) -> _Gauge: |
164 |
| - if Gauge is None: |
165 |
| - # This only exists in opentelemetry-sdk>=1.23.0 |
166 |
| - raise RuntimeError( |
167 |
| - 'Gauge is not available in this version of OpenTelemetry SDK.\n' |
168 |
| - 'You should upgrade to 1.23.0 or newer:\n' |
169 |
| - ' pip install opentelemetry-sdk>=1.23.0' |
170 |
| - ) |
| 156 | + ) -> Gauge: |
171 | 157 | return self._add_proxy_instrument(_ProxyGauge, name=name, unit=unit, description=description)
|
172 | 158 |
|
173 | 159 | def create_observable_gauge(
|
@@ -280,19 +266,15 @@ def _create_real_instrument(self, meter: Meter) -> UpDownCounter:
|
280 | 266 | return meter.create_up_down_counter(**self._kwargs)
|
281 | 267 |
|
282 | 268 |
|
283 |
| -if Gauge is not None: # pragma: no branch |
284 |
| - |
285 |
| - class _ProxyGauge(_ProxyInstrument[Gauge], Gauge): |
286 |
| - def set( |
287 |
| - self, |
288 |
| - amount: int | float, |
289 |
| - attributes: Attributes | None = None, |
290 |
| - *args: Any, |
291 |
| - **kwargs: Any, |
292 |
| - ) -> None: |
293 |
| - self._instrument.set(amount, attributes, *args, **kwargs) |
| 269 | +class _ProxyGauge(_ProxyInstrument[Gauge], Gauge): |
| 270 | + def set( |
| 271 | + self, |
| 272 | + amount: int | float, |
| 273 | + attributes: Attributes | None = None, |
| 274 | + *args: Any, |
| 275 | + **kwargs: Any, |
| 276 | + ) -> None: |
| 277 | + self._instrument.set(amount, attributes, *args, **kwargs) |
294 | 278 |
|
295 |
| - def _create_real_instrument(self, meter: Meter): |
296 |
| - return meter.create_gauge(**self._kwargs) |
297 |
| -else: # pragma: no cover |
298 |
| - _ProxyGauge = None # type: ignore |
| 279 | + def _create_real_instrument(self, meter: Meter): |
| 280 | + return meter.create_gauge(**self._kwargs) |
0 commit comments