diff --git a/packages/ai-providers/server-ai-langchain/src/ldai_langchain/langgraph_agent_graph_runner.py b/packages/ai-providers/server-ai-langchain/src/ldai_langchain/langgraph_agent_graph_runner.py index 158af79..3146dde 100644 --- a/packages/ai-providers/server-ai-langchain/src/ldai_langchain/langgraph_agent_graph_runner.py +++ b/packages/ai-providers/server-ai-langchain/src/ldai_langchain/langgraph_agent_graph_runner.py @@ -305,7 +305,7 @@ async def run(self, input: Any) -> AgentGraphResult: # Graph-level metrics if tracker: tracker.track_path(handler.path) - tracker.track_latency(duration) + tracker.track_duration(duration) tracker.track_invocation_success() tracker.track_total_tokens(sum_token_usage_from_messages(messages)) @@ -325,7 +325,7 @@ async def run(self, input: Any) -> AgentGraphResult: log.warning(f'LangGraphAgentGraphRunner run failed: {exc}') duration = (time.perf_counter_ns() - start_ns) // 1_000_000 if tracker: - tracker.track_latency(duration) + tracker.track_duration(duration) tracker.track_invocation_failure() return AgentGraphResult( output='', diff --git a/packages/ai-providers/server-ai-langchain/tests/test_langgraph_agent_graph_runner.py b/packages/ai-providers/server-ai-langchain/tests/test_langgraph_agent_graph_runner.py index 07802cb..d816ecd 100644 --- a/packages/ai-providers/server-ai-langchain/tests/test_langgraph_agent_graph_runner.py +++ b/packages/ai-providers/server-ai-langchain/tests/test_langgraph_agent_graph_runner.py @@ -86,7 +86,7 @@ async def test_langgraph_runner_run_tracks_failure_on_exception(): assert result.metrics.success is False tracker.track_invocation_failure.assert_called_once() - tracker.track_latency.assert_called_once() + tracker.track_duration.assert_called_once() @pytest.mark.asyncio @@ -148,4 +148,4 @@ async def test_langgraph_runner_run_success(): assert result.metrics.success is True tracker.track_path.assert_called_once_with([]) tracker.track_invocation_success.assert_called_once() - tracker.track_latency.assert_called_once() + tracker.track_duration.assert_called_once() diff --git a/packages/ai-providers/server-ai-langchain/tests/test_tracking_langgraph.py b/packages/ai-providers/server-ai-langchain/tests/test_tracking_langgraph.py index 948d58d..75c4c0c 100644 --- a/packages/ai-providers/server-ai-langchain/tests/test_tracking_langgraph.py +++ b/packages/ai-providers/server-ai-langchain/tests/test_tracking_langgraph.py @@ -256,7 +256,7 @@ async def test_tracks_node_and_graph_tokens_on_success(): ev = _events(mock_ld_client) assert ev['$ld:ai:graph:total_tokens'][0][1] == 15 assert ev['$ld:ai:graph:invocation_success'][0][1] == 1 - assert '$ld:ai:graph:latency' in ev + assert '$ld:ai:graph:duration:total' in ev assert '$ld:ai:graph:path' in ev @@ -428,7 +428,7 @@ async def test_tracks_failure_and_latency_on_model_error(): ev = _events(mock_ld_client) assert '$ld:ai:graph:invocation_failure' in ev - assert '$ld:ai:graph:latency' in ev + assert '$ld:ai:graph:duration:total' in ev assert '$ld:ai:graph:invocation_success' not in ev diff --git a/packages/ai-providers/server-ai-openai/src/ldai_openai/openai_agent_graph_runner.py b/packages/ai-providers/server-ai-openai/src/ldai_openai/openai_agent_graph_runner.py index 3cfd595..af1faba 100644 --- a/packages/ai-providers/server-ai-openai/src/ldai_openai/openai_agent_graph_runner.py +++ b/packages/ai-providers/server-ai-openai/src/ldai_openai/openai_agent_graph_runner.py @@ -89,7 +89,7 @@ async def run(self, input: Any) -> AgentGraphResult: if tracker: tracker.track_path(path) - tracker.track_latency(duration) + tracker.track_duration(duration) tracker.track_invocation_success() token_usage = get_ai_usage_from_response(result) if token_usage is not None: @@ -110,7 +110,7 @@ async def run(self, input: Any) -> AgentGraphResult: log.warning(f'OpenAIAgentGraphRunner run failed: {exc}') duration = (time.perf_counter_ns() - start_ns) // 1_000_000 if tracker: - tracker.track_latency(duration) + tracker.track_duration(duration) tracker.track_invocation_failure() return AgentGraphResult( output='', diff --git a/packages/ai-providers/server-ai-openai/tests/test_openai_agent_graph_runner.py b/packages/ai-providers/server-ai-openai/tests/test_openai_agent_graph_runner.py index 56dd0c1..536d893 100644 --- a/packages/ai-providers/server-ai-openai/tests/test_openai_agent_graph_runner.py +++ b/packages/ai-providers/server-ai-openai/tests/test_openai_agent_graph_runner.py @@ -89,7 +89,7 @@ async def test_openai_agent_graph_runner_run_tracks_invocation_failure_on_except assert result.metrics.success is False tracker.track_invocation_failure.assert_called_once() - tracker.track_latency.assert_called_once() + tracker.track_duration.assert_called_once() @pytest.mark.asyncio @@ -134,7 +134,7 @@ async def test_openai_agent_graph_runner_run_success(): assert result.metrics.success is True tracker.track_invocation_success.assert_called_once() tracker.track_path.assert_called_once() - tracker.track_latency.assert_called_once() + tracker.track_duration.assert_called_once() root_tracker = graph.get_node('root-agent').get_config().tracker root_tracker.track_duration.assert_called_once() diff --git a/packages/ai-providers/server-ai-openai/tests/test_tracking_openai_agents.py b/packages/ai-providers/server-ai-openai/tests/test_tracking_openai_agents.py index 39c7503..15a857d 100644 --- a/packages/ai-providers/server-ai-openai/tests/test_tracking_openai_agents.py +++ b/packages/ai-providers/server-ai-openai/tests/test_tracking_openai_agents.py @@ -266,7 +266,7 @@ async def test_tracks_graph_invocation_success_and_latency(): ev = _events(mock_ld_client) assert ev['$ld:ai:graph:invocation_success'][0][1] == 1 - assert '$ld:ai:graph:latency' in ev + assert '$ld:ai:graph:duration:total' in ev assert '$ld:ai:graph:path' in ev @@ -404,7 +404,7 @@ async def test_tracks_failure_and_latency_on_runner_error(): ev = _events(mock_ld_client) assert '$ld:ai:graph:invocation_failure' in ev - assert '$ld:ai:graph:latency' in ev + assert '$ld:ai:graph:duration:total' in ev assert '$ld:ai:graph:invocation_success' not in ev diff --git a/packages/sdk/server-ai/src/ldai/tracker.py b/packages/sdk/server-ai/src/ldai/tracker.py index d36b070..799900c 100644 --- a/packages/sdk/server-ai/src/ldai/tracker.py +++ b/packages/sdk/server-ai/src/ldai/tracker.py @@ -508,14 +508,14 @@ def track_invocation_failure(self) -> None: 1, ) - def track_latency(self, duration: int) -> None: + def track_duration(self, duration: int) -> None: """ - Track the total latency of graph execution. + Track the total duration of graph execution. :param duration: Duration in milliseconds. """ self._ld_client.track( - "$ld:ai:graph:latency", + "$ld:ai:graph:duration:total", self._context, self.__get_track_data(), duration,