Log all parts of a streaming response (#6855)

This commit is contained in:
Silvio Junior
2025-08-22 16:01:45 -04:00
committed by GitHub
parent 5030ced9e1
commit 4c1c6d2b0d

View File

@@ -149,9 +149,12 @@ export class LoggingContentGenerator implements ContentGenerator {
userPromptId: string, userPromptId: string,
): AsyncGenerator<GenerateContentResponse> { ): AsyncGenerator<GenerateContentResponse> {
let lastResponse: GenerateContentResponse | undefined; let lastResponse: GenerateContentResponse | undefined;
const responses: GenerateContentResponse[] = [];
let lastUsageMetadata: GenerateContentResponseUsageMetadata | undefined; let lastUsageMetadata: GenerateContentResponseUsageMetadata | undefined;
try { try {
for await (const response of stream) { for await (const response of stream) {
responses.push(response);
lastResponse = response; lastResponse = response;
if (response.usageMetadata) { if (response.usageMetadata) {
lastUsageMetadata = response.usageMetadata; lastUsageMetadata = response.usageMetadata;
@@ -169,7 +172,7 @@ export class LoggingContentGenerator implements ContentGenerator {
durationMs, durationMs,
userPromptId, userPromptId,
lastUsageMetadata, lastUsageMetadata,
JSON.stringify(lastResponse), JSON.stringify(responses),
); );
} }
} }