use of com.google.devtools.build.lib.util.LongArrayList in project bazel by bazelbuild.
the class SkylarkStatistics method addDurations.
/**
* Add all new durations to previously collected durations for all functions mapped to tasks.
* @return The sum of the execution times of all {@link Task} values in the map.
*/
private static long addDurations(Multimap<String, Task> functionTasks, Map<String, LongArrayList> durationsMap, Map<String, LongArrayList> selfDurationsMap) {
long totalTime = 0;
for (Entry<String, Collection<Task>> entry : functionTasks.asMap().entrySet()) {
String function = entry.getKey();
Collection<Task> tasks = entry.getValue();
LongArrayList durations;
LongArrayList selfDurations;
if (durationsMap.containsKey(function)) {
durations = durationsMap.get(function);
selfDurations = selfDurationsMap.get(function);
} else {
durations = new LongArrayList(tasks.size());
selfDurations = new LongArrayList(tasks.size());
durationsMap.put(function, durations);
selfDurationsMap.put(function, selfDurations);
}
totalTime += addDurations(tasks, durations, selfDurations);
}
return totalTime;
}
use of com.google.devtools.build.lib.util.LongArrayList in project bazel by bazelbuild.
the class SkylarkHtml method printHistogramData.
private void printHistogramData(Map<String, LongArrayList> functionDurations, String category) {
lnPrintf("'%s': {", category);
down();
for (Entry<String, LongArrayList> entry : functionDurations.entrySet()) {
String function = entry.getKey();
LongArrayList durations = entry.getValue();
lnPrintf("'%s': google.visualization.arrayToDataTable(", function);
lnPrint("[['duration']");
for (int index = 0; index < durations.size(); index++) {
printf(",[%f]", durations.get(index) / 1000000.);
}
lnPrint("], false),");
}
up();
lnPrint("},");
}
Aggregations