From 2ebf2fbc82ba998f0369f17b56f99d0b25680cb4 Mon Sep 17 00:00:00 2001 From: Jerop Kipruto Date: Thu, 5 Jun 2025 16:04:25 -0400 Subject: OpenTelemetry Integration & Telemetry Control Flag (#762) --- packages/cli/src/ui/hooks/useReactToolScheduler.ts | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'packages/cli/src/ui/hooks/useReactToolScheduler.ts') diff --git a/packages/cli/src/ui/hooks/useReactToolScheduler.ts b/packages/cli/src/ui/hooks/useReactToolScheduler.ts index e681e972..8e027ade 100644 --- a/packages/cli/src/ui/hooks/useReactToolScheduler.ts +++ b/packages/cli/src/ui/hooks/useReactToolScheduler.ts @@ -20,6 +20,7 @@ import { Tool, ToolCall, Status as CoreStatus, + logToolCall, } from '@gemini-code/core'; import { useCallback, useEffect, useState, useRef } from 'react'; import { @@ -108,6 +109,30 @@ export function useReactToolScheduler( const allToolCallsCompleteHandler: AllToolCallsCompleteHandler = ( completedToolCalls, ) => { + completedToolCalls.forEach((call) => { + let success = false; + let errorMessage: string | undefined; + let duration = 0; + + if (call.status === 'success') { + success = true; + } + if ( + call.status === 'error' && + typeof call.response.resultDisplay === 'string' + ) { + errorMessage = call.response.resultDisplay; + } + duration = call.durationMs || 0; + + logToolCall({ + function_name: call.request.name, + function_args: call.request.args, + duration_ms: duration, + success, + error: errorMessage, + }); + }); onComplete(completedToolCalls); }; -- cgit v1.2.3