Skip to content

Commit c1fda9e

Browse files
Merge branch 'main' into dev/nachiket/metrics-pack-2
2 parents ba74cf8 + e48cc16 commit c1fda9e

File tree

2 files changed

+50
-1
lines changed

2 files changed

+50
-1
lines changed

src/galileo/logger/logger.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -703,7 +703,7 @@ def add_single_llm_span_trace(
703703
name=name,
704704
created_at=created_at,
705705
duration_ns=duration_ns,
706-
metadata=metadata,
706+
user_metadata=metadata,
707707
tags=tags,
708708
num_input_tokens=num_input_tokens,
709709
num_output_tokens=num_output_tokens,

tests/test_logger_batch.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1566,3 +1566,52 @@ def redact_and_forward(ingest_request: TracesIngestRequest):
15661566
mock_traces_client_instance.ingest_traces.assert_called_once()
15671567
payload: TracesIngestRequest = mock_traces_client_instance.ingest_traces.call_args.args[0]
15681568
assert payload.traces[0].input == "This is a [REDACTED]"
1569+
1570+
1571+
@patch("galileo.logger.logger.LogStreams")
1572+
@patch("galileo.logger.logger.Projects")
1573+
@patch("galileo.logger.logger.Traces")
1574+
def test_add_single_llm_span_trace_ingestion(
1575+
mock_traces_client: Mock, mock_projects_client: Mock, mock_logstreams_client: Mock
1576+
) -> None:
1577+
mock_traces_client_instance = setup_mock_traces_client(mock_traces_client)
1578+
setup_mock_projects_client(mock_projects_client)
1579+
setup_mock_logstreams_client(mock_logstreams_client)
1580+
1581+
logger = GalileoLogger(project="my_project", log_stream="my_log_stream")
1582+
created_at = datetime.datetime.now()
1583+
metadata = {"key": "value"}
1584+
tags = ["tag1", "tag2"]
1585+
1586+
logger.add_single_llm_span_trace(
1587+
input="prompt",
1588+
output="response",
1589+
model="gpt-4",
1590+
name="single-llm-trace",
1591+
created_at=created_at,
1592+
metadata=metadata,
1593+
tags=tags,
1594+
)
1595+
1596+
logger.flush()
1597+
1598+
mock_traces_client_instance.ingest_traces.assert_called_once()
1599+
payload: TracesIngestRequest = mock_traces_client_instance.ingest_traces.call_args.args[0]
1600+
1601+
assert len(payload.traces) == 1
1602+
trace = payload.traces[0]
1603+
1604+
assert trace.name == "single-llm-trace"
1605+
assert trace.created_at == created_at
1606+
assert trace.user_metadata == metadata
1607+
assert trace.tags == tags
1608+
1609+
assert len(trace.spans) == 1
1610+
span = trace.spans[0]
1611+
assert isinstance(span, LlmSpan)
1612+
assert span.input[0].content == "prompt"
1613+
assert span.output.content == "response"
1614+
assert span.model == "gpt-4"
1615+
1616+
assert logger.traces == []
1617+
assert logger._parent_stack == deque()

0 commit comments

Comments
 (0)