Skip to content

Commit

Permalink
mysql: Add/Change columns and triggers to track total time values
Browse files Browse the repository at this point in the history
  • Loading branch information
mariux committed Jul 29, 2015
1 parent 2b6f80d commit d24d4f1
Showing 1 changed file with 25 additions and 1 deletion.
26 changes: 25 additions & 1 deletion mysql/create_tables
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
ALTER TABLE mxq_group
CHANGE COLUMN stats_total_idle_sec stats_idle_sec INT8 UNSIGNED NOT NULL DEFAULT 0,
ADD COLUMN stats_total_wait_sec_finished INT8 UNSIGNED NOT NULL DEFAULT 0
AFTER stats_total_real_sec_finished,
ADD COLUMN stats_wait_sec INT8 UNSIGNED NOT NULL DEFAULT 0
AFTER stats_total_wait_sec,
ADD COLUMN stats_run_sec INT8 UNSIGNED NOT NULL DEFAULT 0
AFTER stats_wait_sec;

ALTER TABLE mxq_job
ADD COLUMN job_id_first INT8 UNSIGNED NULL DEFAULT NULL
Expand Down Expand Up @@ -94,11 +102,15 @@ CREATE TABLE IF NOT EXISTS mxq_group (
stats_total_stime_sec INT8 UNSIGNED NOT NULL DEFAULT 0,
stats_total_real_sec INT8 UNSIGNED NOT NULL DEFAULT 0,
stats_total_wait_sec INT8 UNSIGNED NOT NULL DEFAULT 0,
stats_total_idle_sec INT8 UNSIGNED NOT NULL DEFAULT 0,

stats_wait_sec INT8 UNSIGNED NOT NULL DEFAULT 0,
stats_run_sec INT8 UNSIGNED NOT NULL DEFAULT 0,
stats_idle_sec INT8 UNSIGNED NOT NULL DEFAULT 0,

stats_total_utime_sec_finished INT8 UNSIGNED NOT NULL DEFAULT 0,
stats_total_stime_sec_finished INT8 UNSIGNED NOT NULL DEFAULT 0,
stats_total_real_sec_finished INT8 UNSIGNED NOT NULL DEFAULT 0,
stats_total_wait_sec_finished INT8 UNSIGNED NOT NULL DEFAULT 0,

INDEX(group_id),
INDEX(group_name)
Expand Down Expand Up @@ -202,6 +214,9 @@ CREATE TRIGGER mxq_update_job BEFORE UPDATE ON mxq_job
stats_max_utime_sec=GREATEST(stats_max_utime_sec, NEW.stats_utime_sec),
stats_max_stime_sec=GREATEST(stats_max_stime_sec, NEW.stats_stime_sec),
stats_max_real_sec=GREATEST(stats_max_real_sec, NEW.stats_real_sec),
stats_total_utime_sec=stats_total_utime_sec+NEW.stats_utime_sec,
stats_total_stime_sec=stats_total_stime_sec+NEW.stats_stime_sec,
stats_total_real_sec=stats_total_real_sec+NEW.stats_real_sec,
group_mtime=NULL
WHERE group_id=NEW.group_id;
ELSEIF NEW.job_status = 990 AND OLD.job_status = 0 THEN
Expand Down Expand Up @@ -233,6 +248,12 @@ CREATE TRIGGER mxq_update_job BEFORE UPDATE ON mxq_job
stats_max_utime_sec=GREATEST(stats_max_utime_sec, NEW.stats_utime_sec),
stats_max_stime_sec=GREATEST(stats_max_stime_sec, NEW.stats_stime_sec),
stats_max_real_sec=GREATEST(stats_max_real_sec, NEW.stats_real_sec),
stats_total_utime_sec=stats_total_utime_sec+NEW.stats_utime_sec,
stats_total_stime_sec=stats_total_stime_sec+NEW.stats_stime_sec,
stats_total_real_sec=stats_total_real_sec+NEW.stats_real_sec,
stats_total_utime_sec_finished=stats_total_utime_sec_finished+NEW.stats_utime_sec,
stats_total_stime_sec_finished=stats_total_stime_sec_finished+NEW.stats_stime_sec,
stats_total_real_sec_finished=stats_total_real_sec_finished+NEW.stats_real_sec,
group_mtime=NULL
WHERE group_id=NEW.group_id;
ELSEIF NEW.job_status != 990 THEN
Expand All @@ -241,6 +262,9 @@ CREATE TRIGGER mxq_update_job BEFORE UPDATE ON mxq_job
stats_max_utime_sec=GREATEST(stats_max_utime_sec, NEW.stats_utime_sec),
stats_max_stime_sec=GREATEST(stats_max_stime_sec, NEW.stats_stime_sec),
stats_max_real_sec=GREATEST(stats_max_real_sec, NEW.stats_real_sec),
stats_total_utime_sec=stats_total_utime_sec+NEW.stats_utime_sec,
stats_total_stime_sec=stats_total_stime_sec+NEW.stats_stime_sec,
stats_total_real_sec=stats_total_real_sec+NEW.stats_real_sec,
group_mtime=NULL
WHERE group_id=NEW.group_id;
END IF;
Expand Down

0 comments on commit d24d4f1

Please sign in to comment.