From 195c4341c5e7ecf264e162387096e9816d67298f Mon Sep 17 00:00:00 2001 From: "jiangqi.rrt" Date: Tue, 6 Jan 2026 19:52:16 +0800 Subject: [PATCH] aupport span discard --- CHANGLOG.md | 4 ++++ cozeloop/internal/trace/noop_span.py | 3 +++ cozeloop/internal/trace/span.py | 3 +++ cozeloop/span.py | 6 ++++++ pyproject.toml | 2 +- 5 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGLOG.md b/CHANGLOG.md index 6cd27b0..73df7fd 100644 --- a/CHANGLOG.md +++ b/CHANGLOG.md @@ -1,3 +1,7 @@ +## [0.1.22] - 2026-01-06 +### Added +- support span discard + ## [0.1.21] - 2025-12-23 ### Added - runtime scene support get from env diff --git a/cozeloop/internal/trace/noop_span.py b/cozeloop/internal/trace/noop_span.py index 0ef89e5..561fb0b 100644 --- a/cozeloop/internal/trace/noop_span.py +++ b/cozeloop/internal/trace/noop_span.py @@ -34,6 +34,9 @@ def set_tags(self, tag_kvs: Dict[str, Any]) -> None: def set_baggage(self, baggage_items: Dict[str, str]) -> None: pass + def discard(self) -> None: + pass + def finish(self) -> None: pass diff --git a/cozeloop/internal/trace/span.py b/cozeloop/internal/trace/span.py index 98228b7..a4f1328 100644 --- a/cozeloop/internal/trace/span.py +++ b/cozeloop/internal/trace/span.py @@ -490,6 +490,9 @@ def set_baggage_item(self, restricted_key: str, value: str): with self.lock: super().set_baggage_item(restricted_key, value) + def discard(self) -> None: + delete_span_in_context(self.span_id) + def finish(self): try: if not self.is_do_finish(): diff --git a/cozeloop/span.py b/cozeloop/span.py index ec1f7c4..3f2c278 100644 --- a/cozeloop/span.py +++ b/cozeloop/span.py @@ -218,6 +218,12 @@ def finish(self) -> None: Under the hood, it is actually placed in an asynchronous queue waiting to be reported. """ + @abstractmethod + def discard(self) -> None: + """ + The span will be discarded, not be reported. + """ + @property @abstractmethod def start_time(self) -> datetime: diff --git a/pyproject.toml b/pyproject.toml index 7d1cb14..2d3ce6d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "cozeloop" -version = "0.1.21" +version = "0.1.22" description = "coze loop sdk" authors = ["JiangQi715 "] license = "MIT"