diff options
| author | Jerop Kipruto <[email protected]> | 2025-06-05 16:04:25 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-06-05 13:04:25 -0700 |
| commit | 2ebf2fbc82ba998f0369f17b56f99d0b25680cb4 (patch) | |
| tree | f2cfb0991e4781f99618d5b2fbff607f52aead81 /packages/cli/src/ui/hooks/useReactToolScheduler.ts | |
| parent | d3e43437a00cfe64790cc60c9c8aa82c85f520c3 (diff) | |
OpenTelemetry Integration & Telemetry Control Flag (#762)
Diffstat (limited to 'packages/cli/src/ui/hooks/useReactToolScheduler.ts')
| -rw-r--r-- | packages/cli/src/ui/hooks/useReactToolScheduler.ts | 25 |
1 files changed, 25 insertions, 0 deletions
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); }; |
