|
1 |
| -import datetime |
2 | 1 | import logging
|
3 | 2 | import time
|
4 | 3 | import typing
|
@@ -36,15 +35,15 @@ class SummaryLine:
|
36 | 35 | session_id: str
|
37 | 36 | trace_id: str
|
38 | 37 | collection_id: str
|
39 |
| - root_span_id: str = "" |
| 38 | + root_span_id: str = None |
40 | 39 | inputs: typing.Dict = field(default_factory=dict)
|
41 | 40 | outputs: typing.Dict = field(default_factory=dict)
|
42 |
| - start_time: str = "" |
43 |
| - end_time: str = "" |
44 |
| - status: str = "" |
| 41 | + start_time: str = None |
| 42 | + end_time: str = None |
| 43 | + status: str = None |
45 | 44 | latency: float = 0.0
|
46 |
| - name: str = "" |
47 |
| - kind: str = "" |
| 45 | + name: str = None |
| 46 | + kind: str = None |
48 | 47 | created_by: typing.Dict = field(default_factory=dict)
|
49 | 48 | cumulative_token_count: typing.Optional[typing.Dict[str, int]] = field(default_factory=dict)
|
50 | 49 | evaluations: typing.Dict = field(default_factory=dict)
|
@@ -198,9 +197,7 @@ def _persist_line_run(self, client: ContainerProxy):
|
198 | 197 |
|
199 | 198 | # Span's original format don't include latency, so we need to calculate it.
|
200 | 199 | # Convert ISO 8601 formatted strings to datetime objects
|
201 |
| - start_time_date = datetime.datetime.fromisoformat(start_time.replace("Z", "+00:00")) |
202 |
| - end_time_date = datetime.datetime.fromisoformat(end_time.replace("Z", "+00:00")) |
203 |
| - latency = (end_time_date - start_time_date).total_seconds() |
| 200 | + latency = (self.span.end_time - self.span.start_time).total_seconds() |
204 | 201 | # calculate `cumulative_token_count`
|
205 | 202 | completion_token_count = int(attributes.get(SpanAttributeFieldName.COMPLETION_TOKEN_COUNT, 0))
|
206 | 203 | prompt_token_count = int(attributes.get(SpanAttributeFieldName.PROMPT_TOKEN_COUNT, 0))
|
@@ -228,7 +225,7 @@ def _persist_line_run(self, client: ContainerProxy):
|
228 | 225 | status=self.span.status[SpanStatusFieldName.STATUS_CODE],
|
229 | 226 | latency=latency,
|
230 | 227 | name=self.span.name,
|
231 |
| - kind=attributes[SpanAttributeFieldName.SPAN_TYPE], |
| 228 | + kind=attributes.get(SpanAttributeFieldName.SPAN_TYPE, None), |
232 | 229 | cumulative_token_count=cumulative_token_count,
|
233 | 230 | created_by=self.created_by,
|
234 | 231 | )
|
|
0 commit comments