diff --git a/internal/metricDataDispatcher/dataLoader.go b/internal/metricDataDispatcher/dataLoader.go index 939a0fb..c3291a1 100644 --- a/internal/metricDataDispatcher/dataLoader.go +++ b/internal/metricDataDispatcher/dataLoader.go @@ -170,6 +170,9 @@ func LoadData(job *schema.Job, jd.AddNodeScope("mem_bw") } + // Round Resulting Stat Values + jd.RoundMetricStats() + return jd, ttl, size }) diff --git a/pkg/schema/metrics.go b/pkg/schema/metrics.go index bbc3c74..ffac21b 100644 --- a/pkg/schema/metrics.go +++ b/pkg/schema/metrics.go @@ -291,6 +291,21 @@ func (jd *JobData) AddNodeScope(metric string) bool { return true } +func (jd *JobData) RoundMetricStats() { + // TODO: Make Digit-Precision Configurable? (Currently: Fixed to 2 Digits) + for _, scopes := range *jd { + for _, jm := range scopes { + for index := range jm.Series { + jm.Series[index].Statistics = MetricStatistics{ + Avg: (math.Round(jm.Series[index].Statistics.Avg*100) / 100), + Min: (math.Round(jm.Series[index].Statistics.Min*100) / 100), + Max: (math.Round(jm.Series[index].Statistics.Max*100) / 100), + } + } + } + } +} + func (jm *JobMetric) AddPercentiles(ps []int) bool { if jm.StatisticsSeries == nil { jm.AddStatisticsSeries()