diff --git a/ReleaseNotes.md b/ReleaseNotes.md index 35cff69..cb8e2db 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -35,3 +35,11 @@ For release specific notes visit the [ClusterCockpit Documentation](https://clus - A performance and energy footprint can be freely configured on a per subcluster base. One can filter for footprint statistics for running and finished jobs. + +## Known issues + +- Currently energy footprint metrics of type energy are ignored for calculating + total energy. +- Resampling for running jobs only works with cc-metric-store +- With energy footprint metrics of type power the unit is ignored and it is + assumed the metric has the unit Watt. diff --git a/internal/repository/job.go b/internal/repository/job.go index 592997e..5f73bad 100644 --- a/internal/repository/job.go +++ b/internal/repository/job.go @@ -604,9 +604,10 @@ func (r *JobRepository) UpdateEnergy( for _, fp := range sc.EnergyFootprint { if i, err := archive.MetricIndex(sc.MetricConfig, fp); err == nil { // Note: For DB data, calculate and save as kWh - // Energy: Power (in Watts) * Time (in Seconds) - if sc.MetricConfig[i].Energy == "energy" { // this metric has energy as unit (Joules) + if sc.MetricConfig[i].Energy == "energy" { // this metric has energy as unit (Joules or Wh) + // FIXME: Needs sum as stats type } else if sc.MetricConfig[i].Energy == "power" { // this metric has power as unit (Watt) + // Energy: Power (in Watts) * Time (in Seconds) // Unit: ( W * s ) / 3600 / 1000 = kWh ; Rounded to 2 nearest digits energy = math.Round(((LoadJobStat(jobMeta, fp, "avg")*float64(jobMeta.Duration))/3600/1000)*100) / 100 }