


4fd5c35c4f
[codex-analytics] subagent analytics (#15915)
- creates custom event that emits subagent thread analytics from core
- wires client metadata (`product_client_id, client_name,
client_version`), through from app-server
- creates `created_at `timestamp in core
- subagent analytics are behind `FeatureFlag::GeneralAnalytics`
PR stack
- [[telemetry] thread events
#15690](https://github.com/openai/codex/pull/15690)
- --> [[telemetry] subagent events
#15915](https://github.com/openai/codex/pull/15915)
- [[telemetry] turn events
#15591](https://github.com/openai/codex/pull/15591)
- [[telemetry] steer events
#15697](https://github.com/openai/codex/pull/15697)
- [[telemetry] queued prompt data
#15804](https://github.com/openai/codex/pull/15804)
Notes:
- core does not spawn a subagent thread for compact, but represented in
mapping for consistency
`INFO | 2026-04-01 13:08:12 | codex_backend.routers.analytics_events |
analytics_events.track_analytics_events:399 | Tracked
codex_thread_initialized event params={'thread_id':
'019d4aa9-233b-70f2-a958-c3dbae1e30fa', 'product_surface': 'codex',
'app_server_client': {'product_client_id': 'CODEX_CLI', 'client_name':
'codex-tui', 'client_version': '0.0.0', 'rpc_transport': 'in_process',
'experimental_api_enabled': None}, 'runtime': {'codex_rs_version':
'0.0.0', 'runtime_os': 'macos', 'runtime_os_version': '26.4.0',
'runtime_arch': 'aarch64'}, 'model': 'gpt-5.3-codex', 'ephemeral':
False, 'initialization_mode': 'new', 'created_at': 1775074091,
'thread_source': 'subagent', 'subagent_source': 'thread_spawn',
'parent_thread_id': '019d4aa8-51ec-77e3-bafb-2c1b8e29e385'} | `
`INFO | 2026-04-01 13:08:41 | codex_backend.routers.analytics_events |
analytics_events.track_analytics_events:399 | Tracked
codex_thread_initialized event params={'thread_id':
'019d4aa9-94e3-75f1-8864-ff8ad0e55e1e', 'product_surface': 'codex',
'app_server_client': {'product_client_id': 'CODEX_CLI', 'client_name':
'codex-tui', 'client_version': '0.0.0', 'rpc_transport': 'in_process',
'experimental_api_enabled': None}, 'runtime': {'codex_rs_version':
'0.0.0', 'runtime_os': 'macos', 'runtime_os_version': '26.4.0',
'runtime_arch': 'aarch64'}, 'model': 'gpt-5.3-codex', 'ephemeral':
False, 'initialization_mode': 'new', 'created_at': 1775074120,
'thread_source': 'subagent', 'subagent_source': 'review',
'parent_thread_id': None} | `
---------
Co-authored-by: jif-oai <jif@openai.com>
Co-authored-by: Michael Bolin <mbolin@openai.com>
2026-04-04 11:06:43 -07:00
..
2026-04-04 11:06:43 -07:00
2026-04-01 21:55:22 -07:00
2026-01-13 10:22:51 -08:00
2026-04-01 23:06:24 -07:00
2026-04-03 18:06:52 -07:00
2026-04-03 21:41:25 +00:00
2026-04-03 18:06:52 -07:00
2026-04-03 00:33:34 -07:00
2026-03-25 12:57:42 -07:00
2026-04-04 11:06:43 -07:00
2026-04-02 01:19:44 -07:00
2026-04-03 00:33:34 -07:00
2026-03-24 18:34:44 -07:00
2026-04-03 00:33:34 -07:00
2026-04-03 00:33:34 -07:00
2026-04-03 19:56:59 -07:00
2026-04-03 00:33:34 -07:00
2026-03-24 18:10:53 -07:00
2026-03-12 08:16:36 -07:00
2026-04-01 23:06:24 -07:00
2026-04-01 23:06:24 -07:00
2026-04-01 23:06:24 -07:00
2026-03-27 19:00:44 -07:00
2026-04-03 00:33:34 -07:00
2026-04-04 05:54:31 +00:00
2026-04-04 05:54:31 +00:00
2026-04-01 15:42:18 -07:00
2026-04-04 11:06:43 -07:00
2026-04-01 23:06:24 -07:00
2026-04-04 11:06:43 -07:00
2026-04-04 11:06:43 -07:00
2026-04-04 11:06:43 -07:00
2026-03-12 08:16:36 -07:00
2026-04-01 23:06:24 -07:00
2026-03-27 19:00:44 -07:00
2026-03-12 08:16:36 -07:00
2026-04-03 00:33:34 -07:00
2026-03-27 19:00:44 -07:00
2026-04-04 05:54:31 +00:00
2026-04-02 01:19:44 -07:00
2026-04-02 01:19:44 -07:00
2026-03-12 00:35:21 -07:00
2026-03-27 19:00:44 -07:00
2026-03-25 10:43:49 -07:00
2026-03-27 19:00:44 -07:00
2026-03-27 06:17:59 +00:00
2026-03-27 19:00:44 -07:00
2026-03-24 12:43:53 -07:00
2026-04-03 12:07:07 -07:00
2026-04-03 21:00:24 +00:00
2026-03-27 19:00:44 -07:00
2026-04-01 23:06:24 -07:00
2026-03-27 19:00:44 -07:00
2026-04-03 00:33:34 -07:00
2026-03-27 19:00:44 -07:00
2026-03-16 16:48:15 -07:00
2026-03-27 19:00:44 -07:00
2026-03-24 11:04:47 -07:00
2025-09-24 14:29:51 -07:00
2026-01-08 15:07:30 +00:00
2026-03-27 19:00:44 -07:00
2026-04-01 23:06:24 -07:00
2026-04-01 23:06:24 -07:00
2026-04-03 23:47:56 +00:00
2026-04-01 21:55:22 -07:00
2026-03-27 19:00:44 -07:00
2026-04-02 01:19:44 -07:00
2026-04-02 01:19:44 -07:00
2026-04-01 23:06:24 -07:00
2026-03-12 08:16:36 -07:00
2026-04-03 00:33:34 -07:00
2026-03-25 11:05:35 -07:00
2026-03-27 19:00:44 -07:00
2026-04-02 01:19:44 -07:00
2026-04-02 23:00:02 -07:00
2026-04-02 23:00:02 -07:00
2026-03-27 19:00:44 -07:00
2026-03-27 06:17:59 +00:00
2026-04-01 13:21:50 -07:00
2026-04-02 01:19:44 -07:00
2026-03-20 18:23:48 +00:00
2026-04-01 23:06:24 -07:00
2026-03-27 19:00:44 -07:00
2026-03-25 16:02:22 +00:00
2026-04-03 23:47:56 +00:00
2026-03-27 19:00:44 -07:00
2026-03-24 15:45:40 -07:00
2026-03-16 21:38:07 -07:00
2026-04-03 00:33:34 -07:00
2026-04-01 23:06:24 -07:00
2026-03-27 14:50:01 +01:00
2026-03-24 18:10:53 -07:00
2026-03-26 16:06:53 -04:00
2026-04-01 23:06:24 -07:00
2026-04-01 23:06:24 -07:00
2026-04-01 23:06:24 -07:00
2026-04-01 23:06:24 -07:00
2026-03-20 18:23:48 +00:00
2026-04-03 00:33:34 -07:00
2026-04-03 00:33:34 -07:00
2026-02-10 17:03:46 -08:00
2026-03-30 11:59:50 -07:00
2026-03-17 17:59:27 +00:00
2026-03-27 19:00:44 -07:00
2026-04-02 13:47:10 -07:00
2026-03-27 19:00:44 -07:00
2026-03-25 12:57:42 -07:00
2026-03-07 02:30:21 +00:00
2026-03-24 18:10:53 -07:00
2026-04-03 00:33:34 -07:00
2026-04-03 00:33:34 -07:00
2026-04-03 00:33:34 -07:00
2026-04-03 00:33:34 -07:00
2026-04-03 00:33:34 -07:00
2026-03-31 14:10:43 +02:00
2026-03-31 14:10:43 +02:00
2026-03-12 08:16:36 -07:00
2026-04-01 23:06:24 -07:00
2026-03-19 22:05:13 +00:00
2026-03-24 13:26:23 -07:00
2026-03-18 10:03:38 +00:00
2026-03-12 08:16:36 -07:00
2026-04-03 00:33:34 -07:00
2026-04-03 00:33:34 -07:00
2026-04-03 00:33:34 -07:00
2026-04-03 00:33:34 -07:00
2026-01-30 16:37:56 -08:00
2026-04-01 23:06:24 -07:00
2026-04-01 23:06:24 -07:00
2026-04-02 01:19:44 -07:00
2026-04-02 01:19:44 -07:00