Ehab Younes
2f2169ed19
fix: deduplicate template insights family metrics ( #30497 )
...
coderd_insights_applications_usage_seconds summed each family's per-app
minutes, so a user with VS Code and Cursor open in the same minute was
counted as two VS Code minutes. GetTemplateInsightsByTemplate now takes
the registry's app-to-family mapping as jsonb, groups the raw agent
stats by family, and counts each minute once per user and family.
- Keep the metric's four built-in series (Visual Studio Code, JetBrains,
Web Terminal, SSH) and their labels; only their values change. The
HELP text now says built-in apps are grouped by family.
- Add AppFamilyName.DisplayName() and remove the duplicate
TemplateBuiltinAppDisplayName* constants from codersdk. The template
insights handler returns the same display names.
- Pin how the migration 000596 rollback approximates family minutes
from per-app rows.
Family values can drop wherever the old per-app sum double-counted
overlapping apps. No migration or storage changes.
2026-10-12 23:58:35 +03:00
..
2026-10-02 16:40:24 -08:00
2026-09-03 13:29:17 -07:00
2026-08-26 11:57:56 -06:00
2026-08-17 14:09:23 -08:00
2026-10-09 00:58:39 +05:00
2026-10-06 10:42:44 +00:00
2026-01-08 15:24:11 +04:00
2026-09-21 11:53:11 +02:00
2026-07-28 13:59:37 +02:00
2026-08-05 13:22:23 -07:00
2026-09-18 15:22:02 +01:00
2026-09-25 17:35:02 +01:00
2026-08-05 13:22:23 -07:00
2026-08-20 11:56:58 +01:00
2026-09-23 09:24:46 +00:00
2026-09-29 09:20:31 +01:00
2026-09-29 09:20:31 +01:00
2026-09-29 09:20:31 +01:00
2025-10-09 14:53:08 +02:00
2025-10-09 14:53:08 +02:00
2026-10-11 19:57:49 +02:00
2026-08-05 13:22:23 -07:00
2026-09-24 15:12:28 +03:00
2026-10-02 11:05:48 -04:00
2026-10-12 23:58:35 +03:00
2026-10-11 19:57:49 +02:00
2026-08-05 13:22:23 -07:00
2026-08-27 10:49:13 +01:00
2026-09-26 21:41:25 +02:00
2026-10-12 22:53:07 +02:00
2026-08-21 23:46:27 -06:00
2026-09-28 09:42:31 -05:00
2026-10-12 15:56:40 +03:00
2026-10-12 15:56:40 +03:00
2026-10-12 15:56:40 +03:00
2026-03-13 14:09:39 +00:00
2026-04-01 13:05:14 +00:00
2026-09-28 09:25:01 +00:00
2026-10-11 19:57:49 +02:00
2026-10-11 19:57:49 +02:00
2026-05-19 09:47:03 -05:00
2026-05-19 09:47:03 -05:00
2026-09-29 12:23:00 +00:00
2026-09-29 12:23:00 +00:00
2026-08-05 13:22:23 -07:00
2026-08-05 13:22:23 -07:00
2026-08-05 13:22:23 -07:00
2026-08-10 13:23:14 -07:00
2026-08-05 13:22:23 -07:00
2026-08-05 13:22:23 -07:00
2026-10-12 23:58:35 +03:00
2026-08-18 12:40:33 +07:00
2026-09-21 15:09:25 +02:00
2026-10-09 00:58:39 +05:00
2026-09-16 21:06:31 +05:00
2026-09-16 21:06:31 +05:00
2026-08-05 13:22:23 -07:00
2026-09-08 17:40:10 -07:00
2026-09-08 17:40:10 -07:00
2026-09-22 10:49:19 -07:00
2026-09-28 18:46:14 +00:00
2026-09-24 08:03:32 -07:00
2026-10-09 00:58:39 +05:00
2026-05-22 20:24:38 +10:00
2026-08-26 11:57:56 -06:00
2026-08-05 13:22:23 -07:00
2026-08-21 11:45:38 -05:00
2026-08-05 13:22:23 -07:00
2026-08-19 08:51:25 -05:00
2026-08-19 08:51:25 -05:00
2026-08-11 11:04:51 -05:00
2026-10-11 19:57:49 +02:00
2026-09-27 23:34:26 +02:00
2026-08-05 13:22:23 -07:00
2026-08-26 11:57:56 -06:00
2026-08-05 13:22:23 -07:00
2026-08-05 13:22:23 -07:00
2026-10-06 02:34:46 +11:00
2026-09-11 18:13:16 -05:00
2026-09-11 18:13:16 -05:00
2026-01-08 15:24:11 +04:00
2026-08-05 13:22:23 -07:00
2026-08-05 13:22:23 -07:00
2026-09-18 10:27:26 -06:00
2026-10-09 16:42:41 -06:00
2026-09-02 09:21:36 -07:00
2026-07-28 09:58:33 -06:00
2026-07-28 09:58:33 -06:00
2026-07-28 09:58:33 -06:00
2026-07-28 09:58:33 -06:00
2026-08-05 13:22:23 -07:00
2026-08-05 13:22:23 -07:00
2026-02-06 15:52:54 +00:00
2026-08-10 08:13:32 -05:00
2026-09-25 13:59:53 -05:00
2026-08-05 13:22:23 -07:00
2026-09-21 11:53:11 +02:00
2026-10-09 00:58:39 +05:00
2026-10-09 00:58:39 +05:00
2026-08-05 13:22:23 -07:00