mirror of
				https://github.com/ClusterCockpit/cc-backend
				synced 2025-11-04 09:35:07 +01:00 
			
		
		
		
	Merge pull request #147 from ClusterCockpit/111_fix_metric_names_and_stats
111 fix metric names and stats
This commit is contained in:
		@@ -30,13 +30,13 @@ var Keys schema.ProgramConfig = schema.ProgramConfig{
 | 
			
		||||
		"analysis_view_histogramMetrics":     []string{"flops_any", "mem_bw", "mem_used"},
 | 
			
		||||
		"analysis_view_scatterPlotMetrics":   [][]string{{"flops_any", "mem_bw"}, {"flops_any", "cpu_load"}, {"cpu_load", "mem_bw"}},
 | 
			
		||||
		"job_view_nodestats_selectedMetrics": []string{"flops_any", "mem_bw", "mem_used"},
 | 
			
		||||
		"job_view_polarPlotMetrics":          []string{"flops_any", "mem_bw", "mem_used", "net_bw", "file_bw"},
 | 
			
		||||
		"job_view_polarPlotMetrics":          []string{"flops_any", "mem_bw", "mem_used"},
 | 
			
		||||
		"job_view_selectedMetrics":           []string{"flops_any", "mem_bw", "mem_used"},
 | 
			
		||||
		"plot_general_colorBackground":       true,
 | 
			
		||||
		"plot_general_colorscheme":           []string{"#00bfff", "#0000ff", "#ff00ff", "#ff0000", "#ff8000", "#ffff00", "#80ff00"},
 | 
			
		||||
		"plot_general_lineWidth":             3,
 | 
			
		||||
		"plot_list_jobsPerPage":              50,
 | 
			
		||||
		"plot_list_selectedMetrics":          []string{"cpu_load", "ipc", "mem_used", "flops_any", "mem_bw"},
 | 
			
		||||
		"plot_list_selectedMetrics":          []string{"cpu_load", "mem_used", "flops_any", "mem_bw"},
 | 
			
		||||
		"plot_view_plotsPerRow":              3,
 | 
			
		||||
		"plot_view_showPolarplot":            true,
 | 
			
		||||
		"plot_view_showRoofline":             true,
 | 
			
		||||
 
 | 
			
		||||
@@ -87,10 +87,13 @@ func HandleImportFlag(flag string) error {
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// TODO: Other metrics...
 | 
			
		||||
		job.LoadAvg = loadJobStat(&jobMeta, "cpu_load")
 | 
			
		||||
		job.FlopsAnyAvg = loadJobStat(&jobMeta, "flops_any")
 | 
			
		||||
		job.MemUsedMax = loadJobStat(&jobMeta, "mem_used")
 | 
			
		||||
		job.MemBwAvg = loadJobStat(&jobMeta, "mem_bw")
 | 
			
		||||
		job.NetBwAvg = loadJobStat(&jobMeta, "net_bw")
 | 
			
		||||
		job.FileBwAvg = loadJobStat(&jobMeta, "file_bw")
 | 
			
		||||
 | 
			
		||||
		job.RawResources, err = json.Marshal(job.Resources)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			log.Warn("Error while marshaling job resources")
 | 
			
		||||
 
 | 
			
		||||
@@ -61,7 +61,9 @@ func InitDB() error {
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// TODO: Other metrics...
 | 
			
		||||
		job.LoadAvg = loadJobStat(jobMeta, "cpu_load")
 | 
			
		||||
		job.FlopsAnyAvg = loadJobStat(jobMeta, "flops_any")
 | 
			
		||||
		job.MemUsedMax = loadJobStat(jobMeta, "mem_used")
 | 
			
		||||
		job.MemBwAvg = loadJobStat(jobMeta, "mem_bw")
 | 
			
		||||
		job.NetBwAvg = loadJobStat(jobMeta, "net_bw")
 | 
			
		||||
		job.FileBwAvg = loadJobStat(jobMeta, "file_bw")
 | 
			
		||||
@@ -150,7 +152,11 @@ func SanityChecks(job *schema.BaseJob) error {
 | 
			
		||||
 | 
			
		||||
func loadJobStat(job *schema.JobMeta, metric string) float64 {
 | 
			
		||||
	if stats, ok := job.Statistics[metric]; ok {
 | 
			
		||||
		return stats.Avg
 | 
			
		||||
		if metric == "mem_used" {
 | 
			
		||||
			return stats.Max
 | 
			
		||||
		} else {
 | 
			
		||||
			return stats.Avg
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return 0.0
 | 
			
		||||
 
 | 
			
		||||
@@ -450,6 +450,7 @@ func (r *JobRepository) MarkArchived(
 | 
			
		||||
		case "mem_bw":
 | 
			
		||||
			stmt = stmt.Set("mem_bw_avg", stats.Avg)
 | 
			
		||||
		case "load":
 | 
			
		||||
		case "cpu_load":
 | 
			
		||||
			stmt = stmt.Set("load_avg", stats.Avg)
 | 
			
		||||
		case "net_bw":
 | 
			
		||||
			stmt = stmt.Set("net_bw_avg", stats.Avg)
 | 
			
		||||
 
 | 
			
		||||
@@ -63,7 +63,7 @@ func TestGetUIConfig(t *testing.T) {
 | 
			
		||||
	tmp := cfg["plot_list_selectedMetrics"]
 | 
			
		||||
	metrics := tmp.([]string)
 | 
			
		||||
	str := metrics[2]
 | 
			
		||||
	if str != "mem_used" {
 | 
			
		||||
		t.Errorf("wrong config\ngot: %s \nwant: mem_bw", str)
 | 
			
		||||
	if str != "flops_any" {
 | 
			
		||||
		t.Errorf("wrong config\ngot: %s \nwant: flops_any", str)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -480,6 +480,7 @@
 | 
			
		||||
    },
 | 
			
		||||
    "required": [
 | 
			
		||||
        "cpu_user",
 | 
			
		||||
        "cpu_load",
 | 
			
		||||
        "mem_used",
 | 
			
		||||
        "flops_any",
 | 
			
		||||
        "mem_bw",
 | 
			
		||||
 
 | 
			
		||||
@@ -327,6 +327,7 @@
 | 
			
		||||
            },
 | 
			
		||||
            "required": [
 | 
			
		||||
                "cpu_user",
 | 
			
		||||
                "cpu_load",
 | 
			
		||||
                "mem_used",
 | 
			
		||||
                "flops_any",
 | 
			
		||||
                "mem_bw"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user