Commit Graph

77 Commits

Author SHA1 Message Date
Christoph Kluge
ba366d0d72 use inline literals in simple queries, add downgrade optimize 2026-03-13 15:16:19 +01:00
d586fe4b43 Optimize usage dashboard: partial indexes, request cache, parallel histograms
- Add migration 14: partial covering indexes WHERE job_state='running'
  for user/project/subcluster groupings (tiny B-tree vs full table)
- Inline literal state value in BuildWhereClause so SQLite matches
  partial indexes instead of parameterized placeholders
- Add per-request statsGroupCache (sync.Once per filter+groupBy key)
  so identical grouped stats queries execute only once per GQL operation
- Parallelize 4 histogram queries in AddHistograms using errgroup
- Consolidate frontend from 6 GQL aliases to 2, sort+slice top-10
  client-side via $derived

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 5b26a6e5ff10
2026-03-13 14:31:37 +01:00
cbe46c3524 Merge branch 'hotfix' of github.com:ClusterCockpit/cc-backend into hotfix 2026-03-13 13:17:34 +01:00
dd3e5427f4 Add covering indexes for status/dashboard queries (migration 13)
Adds composite covering indexes on (cluster, job_state, <group_col>, ...)
for user, project, and subcluster groupings to enable index-only scans
for status views. Drops subsumed 3-column indexes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 3d8def28e96e
2026-03-13 13:12:54 +01:00
Christoph Kluge
a877937a25 add missing downgarde index drop, add optimize after downgrades 2026-03-13 10:11:11 +01:00
96fc44a649 fix: Optimize project stat query 2026-03-13 06:06:38 +01:00
8e86e8720d Make stats query selective. Add stats index. Add paging to user list.
Entire-Checkpoint: d42431eee30d
2026-03-12 20:16:55 +01:00
Christoph Kluge
8563ed5e08 fix: remove indices from migration 9
- optimization migration 11 drops these indices, so rather not create them in the first place
2026-03-12 14:45:45 +01:00
Christoph Kluge
972b14033a add db migration 11, optimizing index count 2026-03-11 16:07:29 +01:00
c15f1117f5 Review and improve node repo queries 2026-02-12 15:45:15 +01:00
f4ee0d1042 Update cc-lib and extend nodestate sql schema 2026-02-12 07:34:24 +01:00
Christoph Kluge
4aa337ccc8 fix missing index change 2026-01-26 16:05:42 +01:00
Christoph Kluge
836e6e4242 Review duration filter handling, update migration indices 2026-01-26 15:53:00 +01:00
Christoph Kluge
518e9950ea add job exclusivity filter, review db indices 2026-01-13 16:59:52 +01:00
1cd4a57bd3 Remove support for mysql/mariadb 2025-12-20 11:13:41 +01:00
Christoph Kluge
414147177a Vacuum not allowed within a migration transaction 2025-11-24 13:30:25 +01:00
Christoph Kluge
3b37f3630c add vacuum statement to migration
- reduces DB size after job table migration
2025-11-24 13:21:14 +01:00
Christoph Kluge
c4cf7e9707 Recreate job table indices after copy, add node table timstamp indices 2025-11-21 13:44:05 +01:00
Christoph Kluge
261905a364 unify out_of_memory jobState spelling
- underscores used in existing databases
2025-11-20 15:08:22 +01:00
440cd59e50 Revert hpc_cluster to cluster. Refactor. 2025-10-16 14:32:06 +02:00
f5e1226837 Merge branch 'dev' of github.com:ClusterCockpit/cc-backend into dev 2025-10-16 13:01:35 +02:00
Christoph Kluge
cda10788fb adapt migrated indices to new database structure, include node tables, update job indices 2025-10-15 10:46:24 +02:00
600f19ac80 Sync commit
Does not work yet
2025-10-13 16:12:02 +02:00
35c6ab4a08 Ongoing work on node table
Sync commit: Does not compile
2025-09-30 10:06:19 +02:00
beb92967e5 Update nodestate API and db adapter 2025-09-28 08:26:44 +02:00
Jan Eitzinger
df0e8eb228 Merge branch 'dev' into metricstore 2025-09-10 09:14:50 +02:00
d8e85cf75d Fix migration 2025-09-09 11:35:34 +02:00
Aditya Ujeniya
bca176170c Migration SQL fix 2025-09-03 08:22:15 +02:00
Christoph Kluge
2a91ca0cff Merge branch 'dev' into rework_status_view 2025-08-13 14:29:19 +02:00
86453e7e11 Port to new job structs
Backup commit: Does not build.
2025-08-05 10:23:54 +02:00
764b65d094 Add timestamp column to node table 2025-07-31 12:10:01 +02:00
Christoph Kluge
697acd1d88 Extend bubbleRoofline for nodeData, add column to node table, rename nodeStats query 2025-07-18 18:12:07 +02:00
Christoph Kluge
743a89c3a2 Finalize node query backend functions, fix migration issue 2025-07-04 15:14:15 +02:00
Christoph Kluge
6692c3ab7c add indices for new node table and tags 2025-07-03 15:07:05 +02:00
6f3e1ffbe3 Add ressource ounts to node table 2025-06-18 13:02:11 +02:00
2c102cd1ff Fix error in node table migration 2025-06-03 06:55:49 +02:00
4dc0da5099 Add node table schema 2025-06-02 12:07:01 +02:00
eab7961a83 Introduce caching table for faster job inserts
Fixes #392
2025-05-16 17:32:19 +02:00
17906ec0eb Add down migrations for documentation 2024-11-21 15:54:46 +01:00
35bd7739c6 fix: Replace reserved keywords in database schemas
Port migration to mariadb
2024-11-21 15:02:30 +01:00
Christoph Kluge
37f4ed7770 add additional indices for sorting performance 2024-10-09 17:52:46 +02:00
Christoph Kluge
582dc8bf46 add energy column index 2024-09-30 18:29:46 +02:00
Christoph Kluge
6367c1ab4d Merge branch 'dev' into 275_tag_scope_jobview_rework 2024-09-17 14:32:06 +02:00
Christoph Kluge
d5382aec4f Merge branch 'dev' into 275_add_tag_scope 2024-09-05 16:44:41 +02:00
Christoph Kluge
7ea4086807 Rework sqlite indices in v8 migration 2024-09-05 15:06:38 +02:00
Christoph Kluge
cff60eb51c increase server timeout limit, improve and add db indices
- change energy footprint key to string
2024-08-27 17:43:48 +02:00
Christoph Kluge
31765ce0ef Merge branch 'dev' into 275_add_tag_scope 2024-08-23 14:52:42 +02:00
a8a27c9b51 Add project index to job table 2024-08-19 12:11:53 +02:00
5e074dad10 Resolve error in migration 2024-08-15 12:39:14 +02:00
5c99f5f8bb Only add footprint columns if not 0 2024-08-15 12:35:11 +02:00