From a94771b64936311188f922e93f32098da51ccc19 Mon Sep 17 00:00:00 2001 From: reqww Date: Wed, 12 Nov 2025 16:47:42 +0300 Subject: [PATCH 1/3] Generate spans for healthcheck --- README.md | 1 + microbootstrap/instruments/opentelemetry_instrument.py | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b931df6..8be588d 100644 --- a/README.md +++ b/README.md @@ -429,6 +429,7 @@ Parameters description: - `opentelemetry_instrumentors` - a list of extra instrumentors. - `opentelemetry_exclude_urls` - list of ignored urls. - `opentelemetry_log_traces` - traces will be logged to stdout. +- `opentelemetry_generate_health_check_spans` - generate spans for health check handlers if `True` These settings are subsequently passed to [opentelemetry](https://opentelemetry.io/), finalizing your Opentelemetry integration. diff --git a/microbootstrap/instruments/opentelemetry_instrument.py b/microbootstrap/instruments/opentelemetry_instrument.py index ca93f3c..9014a91 100644 --- a/microbootstrap/instruments/opentelemetry_instrument.py +++ b/microbootstrap/instruments/opentelemetry_instrument.py @@ -66,6 +66,7 @@ class OpentelemetryConfig(BaseInstrumentConfig): ], ) opentelemetry_log_traces: bool = False + opentelemetry_generate_health_check_spans: bool = False @typing.runtime_checkable @@ -169,7 +170,11 @@ def bootstrap(self) -> None: class OpentelemetryInstrument(BaseOpentelemetryInstrument[OpentelemetryConfig]): def define_exclude_urls(self) -> list[str]: exclude_urls = [*self.instrument_config.opentelemetry_exclude_urls] - if self.instrument_config.health_checks_path and self.instrument_config.health_checks_path not in exclude_urls: + if ( + not self.instrument_config.opentelemetry_generate_health_check_spans + and self.instrument_config.health_checks_path + and self.instrument_config.health_checks_path not in exclude_urls + ): exclude_urls.append(self.instrument_config.health_checks_path) return exclude_urls From 5146c415fc529dd596bce163d01df4552a7ff5df Mon Sep 17 00:00:00 2001 From: reqww Date: Wed, 12 Nov 2025 17:07:46 +0300 Subject: [PATCH 2/3] Generate spans for healthcheck --- microbootstrap/instruments/opentelemetry_instrument.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microbootstrap/instruments/opentelemetry_instrument.py b/microbootstrap/instruments/opentelemetry_instrument.py index 9014a91..962d1bd 100644 --- a/microbootstrap/instruments/opentelemetry_instrument.py +++ b/microbootstrap/instruments/opentelemetry_instrument.py @@ -66,7 +66,7 @@ class OpentelemetryConfig(BaseInstrumentConfig): ], ) opentelemetry_log_traces: bool = False - opentelemetry_generate_health_check_spans: bool = False + opentelemetry_generate_health_check_spans: bool = True @typing.runtime_checkable From c84170d1fbc1469ced5cc8744572072c7cbde03c Mon Sep 17 00:00:00 2001 From: reqww Date: Wed, 12 Nov 2025 17:15:46 +0300 Subject: [PATCH 3/3] Generate spans for healthcheck --- tests/conftest.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/conftest.py b/tests/conftest.py index 630fd56..79aeb97 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -102,6 +102,7 @@ def minimal_opentelemetry_config() -> OpentelemetryConfig: opentelemetry_endpoint="/my-engdpoint", opentelemetry_namespace="namespace", opentelemetry_container_name="container-name", + opentelemetry_generate_health_check_spans=False, )