Skip to content
Snippets Groups Projects
Commit b8c7207a authored by Unknown's avatar Unknown
Browse files

formatStatistics: moving constants into a special file; refactoring

parent 587e5889
No related branches found
No related tags found
1 merge request!2Format statistics
......@@ -261,7 +261,7 @@ public class BenchmarkJobManager {
for (int i = 1; i < columns.length; i++) {
values.add(new ResultFileJob(columns[i]));
}
} else if (!columns[0].equals("jobs #")){
} else if (!columns[0].equals("jobs #")) {
for (int i = 1; i < columns.length; i++) {
ResultFileJob resultFileJob;
resultFileJob = values.get(i - 1);
......
......@@ -11,4 +11,8 @@ public interface Constants {
String SPIM_OUTPUT_FILENAME_PATTERN = "spim.outputFilenamePattern";
String CONFIG_YAML = "config.yaml";
String BENCHMARK_RESULT_FILE = "benchmark_result.csv";
String STATISTICS_RESOURCES_MEMORY_USAGE = "resources_used.mem";
String STATISTICS_RESOURCES_WALL_TIME = "resources_used.walltime";
String STATISTICS_RESOURCES_CPU_PERCENTAGE = "resources_used.cpupercent";
}
......@@ -9,7 +9,6 @@ public class ResultFileJob {
public ResultFileJob(String id) {
this.id = id;
}
public String getValue(String key) {
......
package cz.it4i.fiji.haas_spim_benchmark.core;
import java.util.LinkedList;
import java.util.function.Function;
import java.util.stream.Collector;
import java.util.stream.Collectors;
public class ResultFileTask {
......@@ -19,23 +17,20 @@ public class ResultFileTask {
}
public double getAverageMemoryUsage() {
return getAverage(str->Double.parseDouble(str), Collectors.averagingDouble(d->d),"resources_used.mem").doubleValue();
return getAverage(Constants.STATISTICS_RESOURCES_MEMORY_USAGE);
}
public double getAverageWallTime() {
return getAverage("resources_used.walltime");
return getAverage(Constants.STATISTICS_RESOURCES_WALL_TIME);
}
public double getAverageCpuPercentage() {
return getAverage("resources_used.cpupercent");
}
private double getAverage(String propertyName) {
return getAverage(str->Integer.parseInt(str), Collectors.averagingInt(i->i),propertyName).doubleValue();
return getAverage(Constants.STATISTICS_RESOURCES_CPU_PERCENTAGE);
}
private<T> Double getAverage(Function<String, T> valueProvider,Collector<T,?,Double> collector,String propertyName) {
return jobs.stream().map(job -> job.getValue(propertyName)).map(memStr -> valueProvider.apply(memStr))
.collect(collector);
private Double getAverage(String propertyName) {
return jobs.stream().map(job -> job.getValue(propertyName))
.map(memStr -> Double.parseDouble(memStr))
.collect(Collectors.averagingDouble(d->d)).doubleValue();
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment