Track TUI starts by app server mode (#41974)

## What changed

Emit the `codex.tui.start` counter once per TUI launch with an
`app_server_mode` label of `in_process`, `local_daemon`, or `remote`. Recording
the metric during startup keeps reconnects from counting as additional
launches.

GitOrigin-RevId: 7527f319b95ae53f5278fa16120120a433a29ae4
This commit is contained in:
Eric Traut
2026-09-01 04:15:51 +00:00
committed by copyberry
parent 633ab199cf
commit c7fced56eb

View File

@@ -400,6 +400,17 @@ pub(super) async fn run_main_inner(
};
if let Some(metrics) = otel.as_ref().and_then(codex_otel::OtelProvider::metrics) {
let _ = codex_otel::record_process_start_once(metrics, otel_originator.as_str());
// Count the selected mode once per TUI launch, independently of reconnects.
let app_server_mode = match &app_server_target {
AppServerTarget::Embedded => "in_process",
AppServerTarget::LocalDaemon { .. } => "local_daemon",
AppServerTarget::Remote { .. } => "remote",
};
let _ = metrics.counter(
"codex.tui.start",
/*inc*/ 1,
&[("app_server_mode", app_server_mode)],
);
let telemetry =
codex_rollout::sqlite_telemetry_recorder(metrics.clone(), otel_originator.as_str());
let _ = codex_state::install_process_db_telemetry(telemetry);