Charlie Marsh
87bc50f9d4
Cache OS discovery for user agents and telemetry ( #47038 )
...
## Why
OS discovery can launch subprocesses on Linux. Repeating it for requests, analytics events, and metrics provider creation adds unnecessary work for stable metadata.
## What changed
Cache `os_info::get()` with a separate `LazyLock` in user-agent generation, analytics runtime metadata, and metrics OS resource attributes. Continue reading the user-agent originator and suffix on each call so updates remain effective.
## Testing
Add an isolated Linux regression test that races initial user-agent lookups and repeats calls, verifies `lsb_release` and `getconf` each run once, and checks that subsequent originator and suffix updates appear in the user agent.
GitOrigin-RevId: 337e45ff88b863d2a4aa387a8e7d2e291c045906
2026-09-21 14:04:41 +00:00
..
2026-09-15 02:35:59 +00:00
2026-09-21 14:04:41 +00:00
2026-09-21 13:28:02 +00:00
2026-09-14 22:31:32 +00:00
2026-09-19 00:14:40 +00:00
2026-09-21 13:30:55 +00:00
2026-09-03 06:02:25 +00:00
2026-09-19 01:04:18 +00:00
2026-09-11 20:10:02 +00:00
2026-09-18 00:25:37 +00:00
2026-09-17 00:49:12 +00:00
2026-09-09 03:17:48 +00:00
2026-09-19 01:37:14 +00:00
2026-09-07 16:55:06 +00:00
2026-09-21 09:14:48 +00:00
2026-09-19 01:37:14 +00:00
2026-09-03 01:46:37 +00:00
2026-09-11 17:00:07 +00:00
2026-09-11 17:00:07 +00:00
2026-09-11 17:00:07 +00:00
2026-09-21 13:57:22 +00:00
2026-09-21 02:02:41 +00:00
2026-09-15 17:32:33 +00:00
2026-09-19 00:46:30 +00:00
2026-09-14 19:12:59 +00:00
2026-09-21 07:01:52 +00:00
2026-09-05 01:25:06 +00:00
2026-09-21 03:38:46 +00:00
2026-09-15 18:23:08 +00:00
2026-09-18 22:40:37 +00:00
2026-09-21 13:56:17 +00:00
2026-09-11 01:57:54 +00:00
2026-09-19 01:49:01 +00:00
2026-09-05 12:17:32 +00:00
2026-09-19 01:58:19 +00:00
2026-09-19 15:15:25 +00:00
2026-09-17 04:37:54 +00:00
2026-09-21 13:28:02 +00:00
2026-09-17 04:23:45 +00:00
2026-09-21 12:35:36 +00:00
2026-09-18 23:07:36 +00:00
2026-09-19 01:21:32 +00:00
2026-09-06 20:52:29 +00:00
2026-09-21 13:30:55 +00:00
2026-09-21 13:30:55 +00:00
2026-09-10 00:26:30 +00:00
2026-09-19 01:37:14 +00:00
2026-09-11 21:59:24 +00:00
2026-09-19 01:21:32 +00:00
2026-09-21 14:04:41 +00:00
2026-09-17 19:42:56 +00:00
2026-09-20 17:36:48 +00:00
2026-09-19 01:58:43 +00:00
2026-09-19 01:36:53 +00:00
2026-09-19 01:36:53 +00:00
2026-09-19 00:00:01 +00:00
2026-09-19 02:19:47 +00:00
2026-09-21 14:04:41 +00:00
2026-09-19 01:49:01 +00:00
2026-09-19 00:18:56 +00:00
2026-09-21 07:01:52 +00:00
2026-09-11 03:16:01 +00:00
2026-09-17 21:25:55 +00:00
2026-09-21 07:01:52 +00:00
2026-09-21 13:18:50 +00:00
2026-09-19 03:03:41 +00:00
2026-09-17 23:35:32 +00:00
2026-09-15 18:06:03 +00:00
2026-09-09 04:00:10 +00:00
2026-09-05 05:21:42 +00:00
2026-09-15 02:33:27 +00:00
2026-09-16 09:03:41 +00:00
2026-09-02 18:34:27 +00:00
2026-09-21 03:38:46 +00:00
2026-09-21 13:28:02 +00:00
2026-09-21 13:56:17 +00:00
2026-09-21 07:01:52 +00:00
2026-09-16 16:56:41 +00:00
2026-09-08 00:13:28 +00:00
2026-09-19 15:15:25 +00:00
2026-09-20 20:16:51 +00:00
2026-09-18 23:17:17 +00:00
2026-09-19 02:09:46 +00:00
2026-09-18 00:36:07 +00:00
2026-09-13 18:53:06 +00:00
2026-09-08 21:19:02 +00:00
2026-09-21 12:35:36 +00:00
2026-09-21 12:35:36 +00:00
2026-09-11 06:45:09 +00:00