diff options
| author | Sandy Tao <[email protected]> | 2025-07-14 21:44:07 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-15 04:44:07 +0000 |
| commit | 886faa2990b191a0dbd01dc58a88e09e342886b5 (patch) | |
| tree | b22e1c3b95efe0678b86bfa1d959f17c9032b28e /packages/core/src/telemetry/loggers.ts | |
| parent | 734da8b9d24ab7e2cfcfe80e43f061734b7ae6ba (diff) | |
Log the 2 types of loop detection (#4193)
Diffstat (limited to 'packages/core/src/telemetry/loggers.ts')
| -rw-r--r-- | packages/core/src/telemetry/loggers.ts | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/packages/core/src/telemetry/loggers.ts b/packages/core/src/telemetry/loggers.ts index 3cf3794b..25a35b5d 100644 --- a/packages/core/src/telemetry/loggers.ts +++ b/packages/core/src/telemetry/loggers.ts @@ -25,6 +25,7 @@ import { ToolCallEvent, UserPromptEvent, FlashFallbackEvent, + LoopDetectedEvent, } from './types.js'; import { recordApiErrorMetrics, @@ -288,3 +289,23 @@ export function logApiResponse(config: Config, event: ApiResponseEvent): void { ); recordTokenUsageMetrics(config, event.model, event.tool_token_count, 'tool'); } + +export function logLoopDetected( + config: Config, + event: LoopDetectedEvent, +): void { + ClearcutLogger.getInstance(config)?.logLoopDetectedEvent(event); + if (!isTelemetrySdkInitialized()) return; + + const attributes: LogAttributes = { + ...getCommonAttributes(config), + ...event, + }; + + const logger = logs.getLogger(SERVICE_NAME); + const logRecord: LogRecord = { + body: `Loop detected. Type: ${event.loop_type}.`, + attributes, + }; + logger.emit(logRecord); +} |
