rcourtman
13bd250328
Reuse the host continuity overlay and copy only hosts for live lookups
...
While a standalone agent stayed offline across a restart, every canonical
read-state lookup overlaid it from host continuity by building a whole
registry clone. Alert evaluation makes one lookup per resource per poll, so
for up to 72 hours each poll rebuilt the registry once per resource. Each
lookup also called GetLiveHostsSnapshot twice, and that deep-copied every
guest in the monitor state to return the hosts.
The adapter now keeps the last continuity overlay, keyed by registry
pointer, LastRebuiltAt, and a fingerprint of the requested records that
leaves out the build-time UpdatedAt stamp. It reuses the overlay for at
most two seconds, because the overlay evaluates source staleness when it
is built, and it never mutates the live adapter. GetLiveHostsSnapshot now
copies only hosts through State.GetHosts, which also removes a full state
copy from every agent report and config fetch.
With one offline standalone agent, a read-state lookup at 2,080 synthetic
resources went from 136 ms and 95 MB to 74 us and 104 KB.
Refs #2199
2026-09-24 10:57:17 +01:00
..
2026-03-18 16:06:30 +00:00
2026-07-20 22:41:19 +01:00
2026-08-31 15:53:50 +01:00
2026-08-31 15:53:50 +01:00
2026-09-01 17:34:30 +01:00
2026-09-01 17:34:30 +01:00
2026-07-17 16:09:06 +01:00
2026-08-02 20:30:38 +01:00
2026-07-27 11:13:04 +01:00
2026-08-24 16:36:22 +01:00
2026-08-30 21:44:32 +01:00
2026-08-30 21:44:32 +01:00
2026-08-30 21:44:32 +01:00
2026-07-29 20:09:23 +01:00
2026-07-29 21:28:26 +01:00
2026-02-07 22:05:55 +00:00
2026-09-05 15:05:53 +01:00
2026-09-20 16:02:52 +01:00
2026-06-02 14:52:47 +01:00
2026-07-24 12:40:05 +01:00
2026-08-27 20:41:08 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-07-22 06:42:33 +01:00
2026-07-11 18:25:17 +01:00
2026-07-11 18:25:17 +01:00
2025-12-01 17:33:36 +00:00
2026-03-18 16:06:30 +00:00
2026-08-11 20:46:11 +01:00
2026-08-11 20:46:11 +01:00
2026-08-27 16:27:46 +01:00
2026-08-27 16:27:46 +01:00
2026-09-08 03:59:00 +01:00
2026-08-28 10:14:02 +01:00
2026-04-01 19:14:12 +01:00
2026-07-27 18:36:50 +01:00
2026-07-10 00:05:22 +01:00
2026-07-10 00:05:22 +01:00
2026-08-20 11:40:16 +01:00
2026-08-20 23:33:36 +01:00
2026-09-07 09:45:31 +01:00
2026-09-01 15:26:48 +01:00
2026-09-01 15:26:48 +01:00
2026-07-19 09:13:14 +01:00
2026-08-03 01:01:20 +01:00
2026-08-03 01:01:20 +01:00
2026-07-23 22:33:07 +01:00
2026-09-06 12:45:40 +01:00
2026-08-30 00:07:53 +01:00
2026-09-11 10:28:15 +01:00
2026-09-01 15:26:48 +01:00
2026-08-11 21:03:27 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-07-02 23:52:02 +01:00
2026-07-02 23:52:02 +01:00
2026-08-10 14:39:01 +01:00
2026-05-19 22:37:55 +01:00
2026-01-28 16:52:35 +00:00
2026-07-13 09:41:11 +01:00
2026-05-05 14:59:29 +01:00
2026-04-22 09:22:46 +01:00
2026-09-07 23:52:46 +01:00
2026-07-24 00:19:40 +01:00
2026-06-27 17:41:00 +01:00
2026-09-21 23:24:33 +01:00
2026-07-27 18:36:50 +01:00
2026-07-27 18:36:50 +01:00
2026-04-01 18:38:42 +01:00
2026-06-04 14:07:14 +01:00
2026-07-27 18:36:50 +01:00
2026-07-24 15:46:56 +01:00
2026-07-03 10:43:28 +01:00
2026-07-07 09:46:51 +01:00
2026-08-03 01:01:20 +01:00
2026-08-03 01:01:20 +01:00
2026-09-06 11:13:59 +01:00
2026-08-03 01:01:20 +01:00
2026-09-01 15:26:48 +01:00
2026-07-23 22:17:25 +01:00
2026-09-06 01:54:28 +01:00
2026-07-21 20:30:54 +01:00
2026-08-25 12:24:32 +01:00
2026-09-06 12:45:40 +01:00
2026-07-26 19:31:15 +01:00
2026-07-28 13:28:55 +01:00
2026-08-02 18:56:05 +01:00
2026-09-10 16:00:36 +01:00
2026-03-18 16:06:30 +00:00
2026-07-28 12:08:10 +01:00
2026-08-31 21:20:29 +01:00
2026-09-01 17:34:30 +01:00
2026-07-23 22:33:07 +01:00
2026-04-11 22:46:34 +01:00
2026-02-04 19:49:52 +00:00
2026-02-04 19:49:52 +00:00
2026-04-12 09:41:29 +01:00
2026-06-11 19:42:40 +01:00
2026-06-11 19:42:40 +01:00
2026-07-24 10:26:50 +01:00
2026-07-24 00:19:40 +01:00
2026-09-21 23:24:33 +01:00
2026-07-23 22:05:09 +01:00
2026-07-23 22:33:07 +01:00
2026-08-28 23:23:43 +01:00
2026-08-28 23:23:43 +01:00
2025-12-01 21:18:33 +00:00
2026-08-25 16:55:20 +01:00
2026-08-27 20:41:08 +01:00
2026-08-27 21:11:44 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-08-26 12:11:10 +01:00
2026-08-26 12:11:10 +01:00
2026-08-26 12:11:10 +01:00
2026-08-26 00:20:50 +01:00
2026-06-09 21:42:21 +01:00
2026-06-09 21:42:21 +01:00
2026-08-26 20:22:20 +01:00
2026-01-22 13:39:06 +00:00
2026-09-21 23:24:33 +01:00
2026-07-30 22:42:04 +01:00
2026-09-19 15:16:18 +01:00
2026-09-10 08:42:59 +01:00
2026-08-27 18:20:03 +01:00
2026-08-27 18:20:03 +01:00
2026-09-10 08:42:59 +01:00
2026-08-27 20:41:08 +01:00
2026-09-10 08:42:59 +01:00
2026-07-26 20:03:46 +01:00
2026-05-05 14:19:50 +01:00
2026-08-10 14:39:01 +01:00
2026-09-05 15:05:53 +01:00
2026-09-01 10:16:41 +01:00
2026-05-05 16:25:00 +01:00
2026-08-24 22:45:59 +01:00
2026-08-24 22:45:59 +01:00
2026-07-28 11:24:01 +01:00
2026-08-13 22:06:29 +01:00
2026-06-11 10:23:49 +01:00
2026-07-24 22:34:54 +01:00
2026-08-31 15:53:50 +01:00
2026-09-10 08:42:59 +01:00
2026-07-27 18:36:50 +01:00
2026-09-06 11:13:59 +01:00
2026-06-14 11:07:47 +01:00
2026-07-30 19:08:28 +01:00
2026-09-04 09:05:39 +01:00
2026-09-24 10:57:17 +01:00
2026-09-19 17:27:25 +01:00
2026-07-30 20:22:47 +01:00
2026-07-30 20:22:47 +01:00
2026-07-26 20:03:46 +01:00
2026-05-01 20:28:12 +01:00
2026-04-11 14:51:10 +01:00
2026-08-26 12:11:10 +01:00
2026-09-19 17:26:25 +01:00
2026-08-26 12:11:10 +01:00
2026-08-28 00:07:17 +01:00
2026-07-27 10:00:33 +01:00
2026-09-08 10:42:33 +01:00
2026-07-12 02:53:01 +01:00
2026-09-09 20:01:19 +01:00
2026-07-24 10:26:50 +01:00
2026-09-06 14:12:46 +01:00
2026-09-06 08:23:10 +01:00
2026-09-06 12:59:04 +01:00
2026-09-05 19:41:25 +01:00
2026-08-11 14:05:06 +01:00
2026-05-08 19:53:03 +01:00
2026-09-21 23:24:33 +01:00
2026-09-08 22:33:55 +01:00
2026-08-26 15:17:12 +01:00
2026-08-24 16:36:22 +01:00
2026-03-18 16:06:30 +00:00
2026-08-27 20:41:08 +01:00
2026-09-20 16:04:16 +01:00
2026-08-02 19:07:38 +01:00
2026-09-21 23:24:33 +01:00
2026-05-13 19:00:02 +01:00
2026-09-21 23:24:33 +01:00
2026-07-23 22:43:34 +01:00
2026-08-26 15:17:12 +01:00
2026-07-24 15:46:56 +01:00
2026-08-04 10:35:09 +01:00
2026-09-06 01:54:28 +01:00
2026-07-24 10:26:50 +01:00
2026-07-24 22:37:29 +01:00
2026-08-02 19:07:38 +01:00
2026-09-21 23:24:33 +01:00
2026-09-21 23:24:33 +01:00
2026-09-21 23:24:33 +01:00
2026-07-27 12:07:44 +01:00
2026-07-24 10:26:50 +01:00
2026-08-10 14:39:01 +01:00
2026-08-26 00:27:58 +01:00
2026-07-24 11:21:27 +01:00
2026-09-06 01:54:28 +01:00
2026-01-04 10:29:40 +00:00
2026-07-26 12:42:22 +01:00
2026-07-28 13:28:55 +01:00
2026-09-22 20:37:00 +01:00
2026-08-10 14:39:01 +01:00
2026-07-26 20:03:46 +01:00
2026-07-26 20:03:46 +01:00
2026-08-16 13:24:08 +01:00
2026-09-10 21:04:56 +01:00
2026-03-18 16:06:30 +00:00
2026-09-06 14:34:03 +01:00
2026-07-26 20:03:46 +01:00
2026-09-05 20:06:03 +01:00
2026-05-17 18:45:24 +01:00
2026-07-29 23:11:45 +01:00
2026-03-18 16:06:30 +00:00
2026-09-06 12:45:40 +01:00
2026-07-24 12:42:16 +01:00
2026-03-18 16:06:30 +00:00
2026-07-30 21:15:05 +01:00
2026-09-24 10:57:17 +01:00
2026-09-24 10:57:17 +01:00
2026-07-16 16:25:10 +01:00
2026-07-21 21:24:15 +01:00
2026-07-16 15:17:45 +01:00
2026-07-20 07:50:22 +01:00
2026-08-17 20:02:47 +01:00
2026-04-01 10:04:30 +01:00
2026-08-26 15:17:12 +01:00
2026-07-24 00:19:40 +01:00
2026-08-29 20:51:19 +01:00
2026-04-11 22:46:34 +01:00
2026-08-31 07:03:43 +01:00
2026-09-05 12:53:13 +01:00
2026-07-19 15:10:38 +01:00
2026-07-19 15:10:38 +01:00
2026-07-18 11:54:09 +01:00
2026-07-18 11:54:09 +01:00
2026-09-19 17:27:25 +01:00
2026-08-24 22:45:59 +01:00
2026-06-10 09:19:51 +01:00
2026-07-26 12:42:22 +01:00
2026-03-18 16:06:30 +00:00
2026-07-13 11:04:09 +01:00
2026-07-13 11:04:09 +01:00
2026-07-24 10:11:56 +01:00
2026-08-10 14:39:01 +01:00
2026-07-22 06:42:33 +01:00
2026-08-05 19:05:05 +01:00
2026-08-04 15:07:18 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-07-24 10:26:50 +01:00
2026-07-24 10:26:50 +01:00
2026-07-23 22:24:52 +01:00
2026-07-23 22:24:52 +01:00
2026-03-26 22:58:27 +00:00
2026-03-31 15:42:16 +01:00
2026-08-29 15:23:28 +01:00
2026-09-15 09:37:01 +01:00
2026-09-15 09:37:01 +01:00
2026-08-30 22:10:49 +01:00
2026-08-30 22:10:49 +01:00
2026-08-12 11:22:29 +01:00
2026-08-12 11:22:29 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-08-27 20:41:08 +01:00
2026-08-27 20:41:08 +01:00
2026-01-06 17:44:52 +00:00
2026-01-06 17:44:52 +00:00
2026-09-06 20:58:14 +01:00
2026-09-06 20:02:06 +01:00
2026-02-04 19:33:29 +00:00
2025-12-02 12:02:13 +00:00
2026-08-24 16:36:22 +01:00
2026-08-26 12:11:10 +01:00
2026-06-11 16:00:25 +01:00
2026-07-28 12:08:10 +01:00
2026-09-08 17:48:52 +01:00
2026-09-08 17:48:52 +01:00
2026-07-25 00:21:35 +01:00
2026-09-23 23:55:18 +01:00
2026-05-22 20:26:56 +01:00
2026-07-23 22:06:57 +01:00
2026-07-30 16:45:13 +01:00