From 97c5554aa71795e6f147afcf4cf1f6f0faf7a456 Mon Sep 17 00:00:00 2001 From: Swayam Maitra Date: Thu, 10 Sep 2026 11:04:40 +0530 Subject: [PATCH] perf(propagator): optimize fields lookup via set union Replace nested loops with unpacking set union operations to improve fields parsing efficiency and modernize type definition iterations. --- .../src/opentelemetry/propagators/composite.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/opentelemetry-api/src/opentelemetry/propagators/composite.py b/opentelemetry-api/src/opentelemetry/propagators/composite.py index 769e9f93597..b789f7e460c 100644 --- a/opentelemetry-api/src/opentelemetry/propagators/composite.py +++ b/opentelemetry-api/src/opentelemetry/propagators/composite.py @@ -62,14 +62,12 @@ def fields(self) -> set[str]: See `opentelemetry.propagators.textmap.TextMapPropagator.fields` """ - composite_fields = set() - - for propagator in self._propagators: - for field in propagator.fields: - composite_fields.add(field) - - return composite_fields + if not self._propagators: + return set() + return set.union( + *(set(propagator.fields) for propagator in self._propagators) + ) @deprecated("You should use CompositePropagator. Deprecated since version 1.2.0.") class CompositeHTTPPropagator(CompositePropagator):