mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-10-24 02:54:15 +00:00
feat(agent): Add trace for agent (#1407)
This commit is contained in:
@@ -15,6 +15,7 @@ class SpanType(str, Enum):
|
||||
BASE = "base"
|
||||
RUN = "run"
|
||||
CHAT = "chat"
|
||||
AGENT = "agent"
|
||||
|
||||
|
||||
class SpanTypeRunName(str, Enum):
|
||||
@@ -99,6 +100,21 @@ class Span:
|
||||
"metadata": _clean_for_json(self.metadata),
|
||||
}
|
||||
|
||||
def copy(self) -> Span:
|
||||
"""Create a copy of this span."""
|
||||
metadata = self.metadata.copy() if self.metadata else None
|
||||
span = Span(
|
||||
self.trace_id,
|
||||
self.span_id,
|
||||
self.span_type,
|
||||
self.parent_span_id,
|
||||
self.operation_name,
|
||||
metadata=metadata,
|
||||
)
|
||||
span.start_time = self.start_time
|
||||
span.end_time = self.end_time
|
||||
return span
|
||||
|
||||
|
||||
class SpanStorageType(str, Enum):
|
||||
ON_CREATE = "on_create"
|
||||
@@ -191,7 +207,7 @@ class TracerContext:
|
||||
|
||||
|
||||
def _clean_for_json(data: Optional[str, Any] = None):
|
||||
if not data:
|
||||
if data is None:
|
||||
return None
|
||||
if isinstance(data, dict):
|
||||
cleaned_dict = {}
|
||||
|
||||
Reference in New Issue
Block a user