richardopenai and GitHub
8aac63f477
[codex] Add second-based OTEL duration histograms ( #27058 )
...
## Why
Exec-server request and connection latencies need fractional-second
histograms. The existing duration API records integer milliseconds and
uses millisecond-scale buckets.
## What changed
- Adds a described duration API that records `Duration` values as
fractional seconds.
- Uses second-scale explicit histogram boundaries.
- Caches duration histograms by name, unit, and description, matching
the existing instrument caching model.
- Covers exact boundaries, representative bucket placement, fractional
sums, and exported metadata.
This PR only adds the duration primitive. It does not add exec-server
adoption.
## Stack
1. #26091 : counter descriptions
2. #27057 : gauge instruments
3. **#27058: second-based duration histograms**
4. #25019 : initialize exec-server OpenTelemetry at startup
Related independent coverage: #27059 tests OTLP HTTP log and trace event
export.
## Validation
- `just test -p codex-otel`
2026-06-15 17:10:52 -07:00
..
2026-06-08 11:39:08 +02:00
2026-06-09 12:48:04 -07:00
2026-05-26 20:59:47 -07:00
2026-06-11 18:16:39 -07:00
2026-04-28 12:35:00 -07:00
2026-06-15 16:32:38 -07:00
2026-05-07 15:44:17 -07:00
2026-06-15 16:15:58 -07:00
2026-06-15 13:25:42 -07:00
2026-06-11 21:28:52 -07:00
2026-06-15 16:15:58 -07:00
2026-06-15 15:35:57 +00:00
2026-06-12 20:10:12 -07:00
2026-06-12 16:58:42 -07:00
2026-06-15 21:30:32 +00:00
2026-06-11 18:16:39 -07:00
2026-05-08 04:07:59 +00:00
2026-06-15 21:54:01 +00:00
2026-06-13 21:43:39 -07:00
2026-06-15 13:50:08 +01:00
2026-06-15 21:30:32 +00:00
2026-06-12 21:23:50 +00:00
2026-06-12 21:23:50 +00:00
2026-06-11 18:16:39 -07:00
2026-06-11 18:16:39 -07:00
2026-06-12 02:49:17 -07:00
2026-06-11 22:37:26 -07:00
2026-06-12 02:49:17 -07:00
2026-06-16 00:08:39 +00:00
2026-06-01 21:25:42 -07:00
2026-06-15 19:11:26 +02:00
2026-05-07 15:44:17 -07:00
2026-06-11 19:28:47 +00:00
2026-06-15 16:07:01 -04:00
2026-06-13 21:43:39 -07:00
2026-06-12 20:10:12 -07:00
2026-06-15 15:24:33 -07:00
2026-06-15 15:05:28 -07:00
2026-06-16 00:08:39 +00:00
2026-06-15 16:39:41 -07:00
2026-06-15 16:09:43 -07:00
2026-06-13 21:43:39 -07:00
2026-06-05 15:41:13 -07:00
2026-06-14 00:14:26 -07:00
2026-06-15 23:55:23 +00:00
2026-06-07 17:35:33 -07:00
2026-06-13 21:43:39 -07:00
2026-06-15 23:55:23 +00:00
2026-06-04 14:16:03 -04:00
2026-06-15 15:05:28 -07:00
2026-06-15 08:23:02 -07:00
2026-05-26 15:59:25 -07:00
2026-05-07 15:44:17 -07:00
2026-06-15 23:55:23 +00:00
2026-05-28 23:09:55 -07:00
2026-06-12 16:58:42 -07:00
2026-06-15 15:12:26 -07:00
2026-06-03 19:08:19 -07:00
2026-06-12 19:52:49 +00:00
2026-06-05 09:34:36 -07:00
2026-05-07 15:44:17 -07:00
2026-06-15 10:56:53 -07:00
2026-06-11 19:28:47 +00:00
2026-06-15 15:05:28 -07:00
2026-06-04 09:53:08 -04:00
2026-06-11 18:16:39 -07:00
2026-06-05 17:36:18 -07:00
2026-06-13 21:43:39 -07:00
2026-06-11 18:16:39 -07:00
2026-06-04 09:53:08 -04:00
2026-06-15 17:10:52 -07:00
2026-06-15 11:52:05 +02:00
2026-05-25 17:26:10 -03:00
2026-06-13 21:43:39 -07:00
2026-06-15 23:55:23 +00:00
2026-05-07 15:44:17 -07:00
2026-04-22 22:24:12 -07:00
2026-05-07 15:44:17 -07:00
2026-06-13 20:56:42 +00:00
2026-06-15 15:05:28 -07:00
2026-06-15 15:05:28 -07:00
2026-06-13 21:43:39 -07:00
2026-05-26 20:59:47 -07:00
2026-06-12 19:52:49 +00:00
2026-06-15 08:28:02 -07:00
2026-06-11 18:16:39 -07:00
2026-06-13 21:43:39 -07:00
2026-06-15 23:55:23 +00:00
2026-05-07 15:44:17 -07:00
2026-05-13 21:23:19 +00:00
2026-05-07 15:44:17 -07:00
2026-06-12 18:11:13 +00:00
2026-06-15 23:55:23 +00:00
2026-06-15 15:05:28 -07:00
2026-06-15 15:05:28 -07:00
2026-05-07 15:44:17 -07:00
2026-06-15 11:32:13 -07:00
2026-06-13 21:43:39 -07:00
2026-06-13 21:43:39 -07:00
2026-06-15 21:30:32 +00:00
2025-10-19 20:41:55 -04:00
2026-04-24 17:49:29 -07:00
2026-06-15 23:55:23 +00:00
2026-06-15 16:39:41 -07:00
2026-04-20 22:41:54 -07:00
2025-10-17 14:58:27 -07:00
2026-02-20 19:32:15 -08:00
2026-06-11 18:16:39 -07:00
2026-06-04 09:16:03 -07:00
2026-05-26 20:59:47 -07:00
2025-05-07 08:37:48 -07:00