@@ -255,17 +255,13 @@ func getEnergyStatsForOneBenchmark(ctx context.Context, rd RawData, coll *mongo.
255255 measValVec := mat .NewDense (1 , 1 , []float64 {measVal }) // singleton
256256
257257 estat , tstat , hscore , err := getEnergyStatistics (stableRegionVec , measValVec )
258- var zscore float64
259- var pChange float64
260258 if err != nil {
261- log .Printf ("Could not calculate energy stats for test %q, measurement %q: %v" , testname , measName , err )
262- zscore = 0
263- pChange = 0
264- } else {
265- zscore = getZScore (measVal , stableRegion .Mean , stableRegion .Std )
266- pChange = getPercentageChange (measVal , stableRegion .Mean )
259+ return nil , fmt .Errorf ("Could not calculate energy stats for test %q, measurement %q: %v" , testname , measName , err )
267260 }
268261
262+ zscore := getZScore (measVal , stableRegion .Mean , stableRegion .Std )
263+ pChange := getPercentageChange (measVal , stableRegion .Mean )
264+
269265 es := EnergyStats {
270266 Project : project ,
271267 Benchmark : testname ,
@@ -290,9 +286,10 @@ func getEnergyStatsForAllBenchMarks(ctx context.Context, patchRawData []RawData,
290286 for _ , rd := range patchRawData {
291287 energyStats , err := getEnergyStatsForOneBenchmark (ctx , rd , coll )
292288 if err != nil {
293- return nil , err
289+ log .Printf ("%v\n " , err ) // Even if energy calculation for one benchmark fails, we still want to show the ones that passed.
290+ } else {
291+ allEnergyStats = append (allEnergyStats , energyStats ... )
294292 }
295- allEnergyStats = append (allEnergyStats , energyStats ... )
296293 }
297294 return allEnergyStats , nil
298295}
0 commit comments