Files
windmill/backend/migrations/20261008165042_runnable_job_stats.up.sql
442357dbe8 feat: per-script resource rollup and heaviest scripts table (#11631)
* feat: export worker cpu, memory and occupancy metrics

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: refresh the exported memory limit with the cgroup readings

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: per-script resource rollup and heaviest scripts table

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: pin the companion ee commit and drop job cpu entries on every exit

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: count the cpu time of suspended workflow rounds

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: count suspended workflow rounds' runtime and guard empty averages

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* perf: flush the runnable rollup hourly in key order and drop its workspace fk

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: order the rollup upsert in sql and sweep rows of deleted workspaces

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* perf: keep the rollup orphan sweep on a primary key range

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref to a1c00d73a05f227a61d2bf37cc86cd9f5bb1777a

This commit updates the EE repository reference after PR #866 was merged in windmill-ee-private.

Previous ee-repo-ref: c6bcb1bbb5a7e85e870f9de232a0ad1540acf2bd

New ee-repo-ref: a1c00d73a05f227a61d2bf37cc86cd9f5bb1777a

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-10-09 15:23:18 +02:00

18 lines
854 B
SQL

-- Hourly resource rollup per runnable and worker group, fed by the workers.
-- Memory figures are in kB, like v2_job_completed.memory_peak.
-- No foreign key to workspace: every worker upserts here, and the key would cost each row
-- a lookup and a lock on its workspace. Workspace deletion removes the rows itself.
CREATE TABLE IF NOT EXISTS runnable_job_stats (
hour BIGINT NOT NULL,
workspace_id VARCHAR(50) NOT NULL,
runnable_path VARCHAR(255) NOT NULL,
worker_group TEXT NOT NULL,
job_count INTEGER NOT NULL DEFAULT 0,
total_duration_ms BIGINT NOT NULL DEFAULT 0,
max_memory_peak INTEGER NOT NULL DEFAULT 0,
sum_memory_peak BIGINT NOT NULL DEFAULT 0,
memory_sample_count INTEGER NOT NULL DEFAULT 0,
total_cpu_ms BIGINT NOT NULL DEFAULT 0,
PRIMARY KEY (hour, workspace_id, runnable_path, worker_group)
);