diff --git a/cmd/cc-backend/server.go b/cmd/cc-backend/server.go index d2b62e2..7ca9ccb 100644 --- a/cmd/cc-backend/server.go +++ b/cmd/cc-backend/server.go @@ -260,8 +260,8 @@ func serverStart() { }) server = &http.Server{ - ReadTimeout: 10 * time.Second, - WriteTimeout: 10 * time.Second, + ReadTimeout: 20 * time.Second, + WriteTimeout: 20 * time.Second, Handler: handler, Addr: config.Keys.Addr, } diff --git a/internal/repository/migrations/sqlite3/08_add-footprint.up.sql b/internal/repository/migrations/sqlite3/08_add-footprint.up.sql index bcd6494..4895258 100644 --- a/internal/repository/migrations/sqlite3/08_add-footprint.up.sql +++ b/internal/repository/migrations/sqlite3/08_add-footprint.up.sql @@ -1,5 +1,7 @@ -CREATE INDEX IF NOT EXISTS job_by_project ON job (project); -CREATE INDEX IF NOT EXISTS job_list_projects ON job (project, job_state); +CREATE INDEX IF NOT EXISTS jobs_cluster_orderby_starttime ON job (cluster, start_time DESC); +CREATE INDEX IF NOT EXISTS jobs_cluster_count ON job (cluster, job_state, start_time); +CREATE INDEX IF NOT EXISTS jobs_project_orderby_starttime ON job (project, start_time DESC); +CREATE INDEX IF NOT EXISTS jobs_project_count ON job (project, job_state, start_time); ALTER TABLE job ADD COLUMN energy REAL NOT NULL DEFAULT 0.0; ALTER TABLE job ADD COLUMN energy_footprint TEXT DEFAULT NULL; @@ -24,3 +26,5 @@ ALTER TABLE job DROP net_bw_avg; ALTER TABLE job DROP net_data_vol_total; ALTER TABLE job DROP file_bw_avg; ALTER TABLE job DROP file_data_vol_total; + +PRAGMA optimize; \ No newline at end of file diff --git a/pkg/archive/clusterConfig.go b/pkg/archive/clusterConfig.go index 6f0178c..3dd8c64 100644 --- a/pkg/archive/clusterConfig.go +++ b/pkg/archive/clusterConfig.go @@ -88,7 +88,7 @@ func initClusterConfig() error { sc.Footprint = append(sc.Footprint, newMetric.Name) ml.Footprint = newMetric.Footprint } - if newMetric.Energy { + if newMetric.Energy != "" { sc.EnergyFootprint = append(sc.EnergyFootprint, newMetric.Name) } } @@ -99,7 +99,7 @@ func initClusterConfig() error { if newMetric.Footprint != "" { sc.Footprint = append(sc.Footprint, newMetric.Name) } - if newMetric.Energy { + if newMetric.Energy != "" { sc.EnergyFootprint = append(sc.EnergyFootprint, newMetric.Name) } } diff --git a/pkg/schema/cluster.go b/pkg/schema/cluster.go index e9aa178..b9bf306 100644 --- a/pkg/schema/cluster.go +++ b/pkg/schema/cluster.go @@ -54,7 +54,7 @@ type SubClusterConfig struct { Alert float64 `json:"alert"` Remove bool `json:"remove"` LowerIsBetter bool `json:"lowerIsBetter"` - Energy bool `json:"energy"` + Energy string `json:"energy"` } type MetricConfig struct { @@ -70,7 +70,7 @@ type MetricConfig struct { Alert float64 `json:"alert"` Timestep int `json:"timestep"` LowerIsBetter bool `json:"lowerIsBetter"` - Energy bool `json:"energy"` + Energy string `json:"energy"` } type Cluster struct { diff --git a/pkg/schema/schemas/cluster.schema.json b/pkg/schema/schemas/cluster.schema.json index 81b138a..66b7ba1 100644 --- a/pkg/schema/schemas/cluster.schema.json +++ b/pkg/schema/schemas/cluster.schema.json @@ -50,7 +50,11 @@ }, "energy": { "description": "Is it used to calculate job energy", - "type": "boolean" + "type": "string", + "enum": [ + "power", + "energy" + ] }, "lowerIsBetter": { "description": "Is lower better.", @@ -93,7 +97,11 @@ }, "energy": { "description": "Is it used to calculate job energy. Overwrite global", - "type": "boolean" + "type": "string", + "enum": [ + "power", + "energy" + ] }, "lowerIsBetter": { "description": "Is lower better. Overwrite global",