Track image generation request IDs in analytics (#40714)

## What changed

- Read `x-codex-imagegen-request-id` from image generation and edit responses.
- Propagate the ID to `codex_image_generation_event` analytics.
- Keep the ID in process only, excluding it from extension item serialization, generated types, app-server wire data, and rollout history.

## Testing

- Cover response-header extraction and missing-header behavior in the images client.
- Verify end-to-end analytics emission and the unchanged image-generation item wire shape.

GitOrigin-RevId: 9b8e09b7d655c0c2faa84f0eee99aabae583668d
This commit is contained in:
Chris Dong authored and copyberry committed 2026-08-25 21:38:10 +00:00
1 parent 1bc02aea50
commit 346c4db7c2
16 files changed
+124 -24

No files matched your search

+2 -2
View File
@@ -82,7 +82,7 @@ impl CodexImagesBackend {
&self,
request: ImageGenerationRequest,
turn_id: &str,
) -> Result<ImageResponse, ImageBackendError> {
) -> Result<(ImageResponse, Option<String>), ImageBackendError> {
self.client()
.await?
.generate(
@@ -98,7 +98,7 @@ impl CodexImagesBackend {
&self,
request: ImageEditRequest,
turn_id: &str,
) -> Result<ImageResponse, ImageBackendError> {
) -> Result<(ImageResponse, Option<String>), ImageBackendError> {
self.client()
.await?
.edit(