Skip to content

Commit 9e7db74

Browse files
committed
Fix Sphinx docs build for celery metric classes
Make CeleryTaskMetrics and CeleryWorkerMetrics public so Sphinx autodoc can resolve cross-references to them. Add opentelemetry.metrics.Gauge to nitpick exceptions since the upstream inventory does not include it.
1 parent 8292817 commit 9e7db74

2 files changed

Lines changed: 11 additions & 10 deletions

File tree

docs/nitpick-exceptions.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ py-class=
4848
starlette.applications.Starlette
4949
_contextvars.Token
5050
celery.worker.request.Request
51+
opentelemetry.metrics.Gauge
5152

5253
any=
5354
; API

instrumentation/opentelemetry-instrumentation-celery/src/opentelemetry/instrumentation/celery/__init__.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ class _CeleryEventTypes:
253253

254254

255255
@dataclass
256-
class _CeleryTaskMetrics:
256+
class CeleryTaskMetrics:
257257
"""Metrics for tracking Celery task events and states."""
258258

259259
events_total: "Counter"
@@ -264,7 +264,7 @@ class _CeleryTaskMetrics:
264264

265265

266266
@dataclass
267-
class _CeleryWorkerMetrics:
267+
class CeleryWorkerMetrics:
268268
"""Metrics for tracking Celery worker lifecycle."""
269269

270270
worker_online: "UpDownCounter"
@@ -282,7 +282,7 @@ class CeleryInstrumentor(BaseInstrumentor):
282282

283283
def __init__(self) -> None:
284284
super().__init__()
285-
self.metrics: Optional[_CeleryTaskMetrics] = None
285+
self.metrics: Optional[CeleryTaskMetrics] = None
286286
self.task_id_to_start_time: dict = {}
287287
self.task_id_to_received_time: dict = {}
288288
self.prefetched_task_id_to_labels: dict = {}
@@ -352,7 +352,7 @@ def _uninstrument(self, **kwargs: object) -> None:
352352
self.prefetched_task_id_to_labels = {}
353353
self.executing_task_id_to_worker = {}
354354

355-
def _metrics(self) -> _CeleryTaskMetrics:
355+
def _metrics(self) -> CeleryTaskMetrics:
356356
"""Retrieve the Celery metrics object, raising an error if not initialized."""
357357
if self.metrics is not None:
358358
return self.metrics
@@ -762,9 +762,9 @@ def _record_histograms(
762762
)
763763

764764
@staticmethod
765-
def create_task_metrics(meter: "Meter") -> _CeleryTaskMetrics:
765+
def create_task_metrics(meter: "Meter") -> CeleryTaskMetrics:
766766
"""Create the metrics for tracking Celery task events and states."""
767-
return _CeleryTaskMetrics(
767+
return CeleryTaskMetrics(
768768
events_total=meter.create_counter(
769769
name=_TASK_METRIC_NAMES.events_total,
770770
unit="{event}",
@@ -820,7 +820,7 @@ def init_worker_metrics(sender, instance, conf, **kwargs):
820820

821821
def __init__(self) -> None:
822822
super().__init__()
823-
self.metrics: Optional[_CeleryWorkerMetrics] = None
823+
self.metrics: Optional[CeleryWorkerMetrics] = None
824824
self.online_workers: set = set()
825825

826826
def instrumentation_dependencies(self) -> Collection[str]:
@@ -853,7 +853,7 @@ def _uninstrument(self, **kwargs: object) -> None:
853853
self.metrics = None
854854
self.online_workers = set()
855855

856-
def _worker_metrics(self) -> _CeleryWorkerMetrics:
856+
def _worker_metrics(self) -> CeleryWorkerMetrics:
857857
"""Return the worker metrics, raising if not yet initialized."""
858858
if self.metrics is not None:
859859
return self.metrics
@@ -887,9 +887,9 @@ def _trace_worker_shutdown(self, *args: object, **kwargs: object) -> None:
887887
)
888888

889889
@staticmethod
890-
def _create_worker_metrics(meter: "Meter") -> _CeleryWorkerMetrics:
890+
def _create_worker_metrics(meter: "Meter") -> CeleryWorkerMetrics:
891891
"""Create the metrics for tracking Celery worker lifecycle."""
892-
return _CeleryWorkerMetrics(
892+
return CeleryWorkerMetrics(
893893
worker_online=meter.create_up_down_counter(
894894
name=_WORKER_METRIC_NAMES.worker_online,
895895
unit="{worker}",

0 commit comments

Comments
 (0)