diff --git a/cozeloop/internal/consts/__init__.py b/cozeloop/internal/consts/__init__.py index 44ea376..2fa0c50 100644 --- a/cozeloop/internal/consts/__init__.py +++ b/cozeloop/internal/consts/__init__.py @@ -30,7 +30,7 @@ STATUS_CODE_ERROR_DEFAULT = -1 -GLOBAL_TRACE_VERSION = 1 +GLOBAL_TRACE_VERSION = 0 # System reserved tag fields. diff --git a/cozeloop/internal/trace/span.py b/cozeloop/internal/trace/span.py index 6189a5a..aa17697 100644 --- a/cozeloop/internal/trace/span.py +++ b/cozeloop/internal/trace/span.py @@ -559,7 +559,7 @@ def to_header(self) -> Dict[str, str]: def to_header_baggage(self) -> str: if not self.baggage: return "" - return ",".join(f"{k}={v}" for k, v in self.baggage().items()) + return ",".join(f"{k}={v}" for k, v in self.baggage().items() if k and v) def to_header_parent(self) -> str: return f"{GLOBAL_TRACE_VERSION:02x}-{self.trace_id}-{self.span_id}-{self.flags:02x}" @@ -631,6 +631,9 @@ def parse_comma_separated_map(src: str, cover: bool) -> Dict[str, str]: key = urllib.parse.unquote(kv[0]) value = urllib.parse.unquote(kv[1]) + if not key or not value: + continue + if key not in baggage or cover: baggage[key] = value