diff options
author | laurentlb <laurentlb@google.com> | 2017-06-30 00:32:04 +0200 |
---|---|---|
committer | Marcel Hlopko <hlopko@google.com> | 2017-06-30 13:00:58 +0200 |
commit | 3d2a68c6da2a50a9e1bcf6615e83a43701cdf95d (patch) | |
tree | 31692a985d316e33733ab6993e529b8a08c206b6 /src/main/java/com/google/devtools/build/lib/profiler | |
parent | 2d5eeab381713f99c8c8b7b80f3d447be847b548 (diff) |
Automated conversion to Java 8
With a few manual fixes for readability.
RELNOTES: None.
PiperOrigin-RevId: 160582556
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/profiler')
7 files changed, 30 insertions, 80 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/profiler/MetricData.java b/src/main/java/com/google/devtools/build/lib/profiler/MetricData.java index db46b0d866..419318c054 100644 --- a/src/main/java/com/google/devtools/build/lib/profiler/MetricData.java +++ b/src/main/java/com/google/devtools/build/lib/profiler/MetricData.java @@ -13,12 +13,10 @@ // limitations under the License. package com.google.devtools.build.lib.profiler; -import com.google.common.base.Joiner; -import com.google.common.base.Predicate; -import com.google.common.collect.Collections2; +import static java.util.stream.Collectors.joining; + import com.google.common.collect.ImmutableList; import com.google.common.collect.Range; - import java.text.DecimalFormat; /** @@ -33,14 +31,6 @@ public final class MetricData { private final double avg; private final double stdDev; private final int max; - private static final Predicate<HistogramElement> NON_EMPTY_HISTOGRAM_ELEMENT = - new Predicate<HistogramElement>() { - @Override - public boolean apply(HistogramElement element) { - return element.count > 0; - } - }; - public MetricData(Object description, ImmutableList<HistogramElement> histogram, int count, double avg, double stdDev, int max) { this.description = description; @@ -81,13 +71,23 @@ public final class MetricData { return "'" + description + "'. Zero data recorded"; } DecimalFormat fmt = new DecimalFormat("0.###"); - return "'" + description + "'. " - + " Count: " + count - + " Avg: " + fmt.format(avg) - + " StdDev: " + fmt.format(stdDev) - + " Max: " + max + return "'" + + description + + "'. " + + " Count: " + + count + + " Avg: " + + fmt.format(avg) + + " StdDev: " + + fmt.format(stdDev) + + " Max: " + + max + " Histogram:\n " - + Joiner.on("\n ").join(Collections2.filter(histogram, NON_EMPTY_HISTOGRAM_ELEMENT)); + + histogram + .stream() + .filter(element -> element.count > 0) + .map(Object::toString) + .collect(joining("\n ")); } /** An histogram element that contains the range that applies to and the number of elements. */ diff --git a/src/main/java/com/google/devtools/build/lib/profiler/ProfileInfo.java b/src/main/java/com/google/devtools/build/lib/profiler/ProfileInfo.java index 4c1309a040..242bdb2c7f 100644 --- a/src/main/java/com/google/devtools/build/lib/profiler/ProfileInfo.java +++ b/src/main/java/com/google/devtools/build/lib/profiler/ProfileInfo.java @@ -13,11 +13,11 @@ // limitations under the License. package com.google.devtools.build.lib.profiler; +import static com.google.common.collect.ImmutableList.toImmutableList; import static com.google.devtools.build.lib.profiler.ProfilerTask.CRITICAL_PATH; import static com.google.devtools.build.lib.profiler.ProfilerTask.TASK_COUNT; import com.google.common.base.Joiner; -import com.google.common.base.Predicate; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.ListMultimap; @@ -29,7 +29,6 @@ import com.google.common.collect.Sets; import com.google.devtools.build.lib.util.Preconditions; import com.google.devtools.build.lib.util.VarInt; import com.google.devtools.build.lib.vfs.Path; - import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.IOException; @@ -49,6 +48,7 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.regex.Pattern; +import java.util.stream.Stream; import java.util.zip.Inflater; import java.util.zip.InflaterInputStream; @@ -320,17 +320,10 @@ public class ProfileInfo { out.print(" ["); ImmutableList<Task> sortedSubTasks = - TASK_DURATION_ORDERING - .reverse() - .immutableSortedCopy( - Iterables.filter( - Arrays.asList(subtasks), - new Predicate<Task>() { - @Override - public boolean apply(Task task) { - return task.durationNanos >= durationThresholdNanos; - } - })); + Stream.of(subtasks) + .filter(task -> task.durationNanos >= durationThresholdNanos) + .sorted(TASK_DURATION_ORDERING.reverse()) + .collect(toImmutableList()); String sep = ""; for (Task task : sortedSubTasks) { out.print(sep); @@ -953,13 +946,7 @@ public class ProfileInfo { */ public Iterable<Task> findTasksByDescription(final Pattern description) { return Iterables.filter( - allTasksById, - new Predicate<Task>() { - @Override - public boolean apply(Task task) { - return description.matcher(task.getDescription()).find(); - } - }); + allTasksById, task -> description.matcher(task.getDescription()).find()); } /** diff --git a/src/main/java/com/google/devtools/build/lib/profiler/chart/Chart.java b/src/main/java/com/google/devtools/build/lib/profiler/chart/Chart.java index 79ec2fcba8..9fddfd92c3 100644 --- a/src/main/java/com/google/devtools/build/lib/profiler/chart/Chart.java +++ b/src/main/java/com/google/devtools/build/lib/profiler/chart/Chart.java @@ -143,11 +143,7 @@ public class Chart { * otherwise */ private ChartRow addSlotIfAbsent(long id) { - ChartRow slot = rows.get(id); - if (slot == null) { - slot = new ChartRow(Long.toString(id), rowIndex++); - rows.put(id, slot); - } + ChartRow slot = rows.computeIfAbsent(id, k -> new ChartRow(Long.toString(k), rowIndex++)); return slot; } diff --git a/src/main/java/com/google/devtools/build/lib/profiler/statistics/CriticalPathStatistics.java b/src/main/java/com/google/devtools/build/lib/profiler/statistics/CriticalPathStatistics.java index 8631016543..ec18dc5092 100644 --- a/src/main/java/com/google/devtools/build/lib/profiler/statistics/CriticalPathStatistics.java +++ b/src/main/java/com/google/devtools/build/lib/profiler/statistics/CriticalPathStatistics.java @@ -13,21 +13,18 @@ // limitations under the License. package com.google.devtools.build.lib.profiler.statistics; -import com.google.common.base.Predicate; import com.google.devtools.build.lib.actions.MiddlemanAction; import com.google.devtools.build.lib.profiler.ProfileInfo; import com.google.devtools.build.lib.profiler.ProfileInfo.CriticalPathEntry; import com.google.devtools.build.lib.profiler.ProfileInfo.Task; import com.google.devtools.build.lib.profiler.ProfilerTask; import com.google.devtools.build.lib.util.Pair; - import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.EnumSet; import java.util.Iterator; import java.util.List; - import javax.annotation.Nullable; /** @@ -50,12 +47,7 @@ public final class CriticalPathStatistics implements Iterable<Pair<String, Doubl Pair.of( "the VFS calls", ProfilerTask.allSatisfying( - new Predicate<ProfilerTask>() { - @Override - public boolean apply(ProfilerTask task) { - return DEFAULT_FILTER.contains(task) || task.name().startsWith("VFS_"); - } - })), + task -> DEFAULT_FILTER.contains(task) || task.name().startsWith("VFS_"))), typeFilter("the dependency checking", ProfilerTask.ACTION_CHECK), typeFilter("the execution setup", ProfilerTask.ACTION_EXECUTE), typeFilter("local execution", ProfilerTask.SPAWN, ProfilerTask.LOCAL_EXECUTION), diff --git a/src/main/java/com/google/devtools/build/lib/profiler/statistics/PhaseStatistics.java b/src/main/java/com/google/devtools/build/lib/profiler/statistics/PhaseStatistics.java index b8e303b3f1..290eb72fa0 100644 --- a/src/main/java/com/google/devtools/build/lib/profiler/statistics/PhaseStatistics.java +++ b/src/main/java/com/google/devtools/build/lib/profiler/statistics/PhaseStatistics.java @@ -13,7 +13,6 @@ // limitations under the License. package com.google.devtools.build.lib.profiler.statistics; -import com.google.common.base.Predicate; import com.google.common.collect.Iterators; import com.google.devtools.build.lib.profiler.ProfileInfo; import com.google.devtools.build.lib.profiler.ProfileInfo.AggregateAttr; @@ -21,11 +20,9 @@ import com.google.devtools.build.lib.profiler.ProfileInfo.Task; import com.google.devtools.build.lib.profiler.ProfilePhase; import com.google.devtools.build.lib.profiler.ProfilerTask; import com.google.devtools.build.lib.util.Preconditions; - import java.util.EnumMap; import java.util.Iterator; import java.util.List; - import javax.annotation.Nullable; /** @@ -207,12 +204,7 @@ public final class PhaseStatistics implements Iterable<ProfilerTask> { public Iterator<ProfilerTask> iterator() { return Iterators.filter( taskCounts.keySet().iterator(), - new Predicate<ProfilerTask>() { - @Override - public boolean apply(ProfilerTask taskType) { - return getTotalDurationNanos(taskType) > 0 && wasExecuted(taskType); - } - }); + taskType -> getTotalDurationNanos(taskType) > 0 && wasExecuted(taskType)); } /** diff --git a/src/main/java/com/google/devtools/build/lib/profiler/statistics/PhaseVfsStatistics.java b/src/main/java/com/google/devtools/build/lib/profiler/statistics/PhaseVfsStatistics.java index 58d454f368..cdc794c033 100644 --- a/src/main/java/com/google/devtools/build/lib/profiler/statistics/PhaseVfsStatistics.java +++ b/src/main/java/com/google/devtools/build/lib/profiler/statistics/PhaseVfsStatistics.java @@ -13,7 +13,6 @@ // limitations under the License. package com.google.devtools.build.lib.profiler.statistics; -import com.google.common.base.Supplier; import com.google.common.collect.ComparisonChain; import com.google.common.collect.ImmutableSortedSet; import com.google.common.collect.Table; @@ -23,7 +22,6 @@ import com.google.devtools.build.lib.profiler.ProfileInfo; import com.google.devtools.build.lib.profiler.ProfileInfo.Task; import com.google.devtools.build.lib.profiler.ProfilePhase; import com.google.devtools.build.lib.profiler.ProfilerTask; - import java.util.Arrays; import java.util.EnumMap; import java.util.HashMap; @@ -108,13 +106,7 @@ public final class PhaseVfsStatistics implements Iterable<ProfilerTask> { this.phase = phase; this.statistics = Tables.newCustomTable( - new EnumMap<ProfilerTask, Map<String, Stat>>(ProfilerTask.class), - new Supplier<Map<String, Stat>>() { - @Override - public Map<String, Stat> get() { - return new HashMap<>(); - } - }); + new EnumMap<ProfilerTask, Map<String, Stat>>(ProfilerTask.class), HashMap::new); } public PhaseVfsStatistics(final String workSpaceName, ProfilePhase phase, ProfileInfo info) { diff --git a/src/main/java/com/google/devtools/build/lib/profiler/statistics/SkylarkStatistics.java b/src/main/java/com/google/devtools/build/lib/profiler/statistics/SkylarkStatistics.java index 50a4e32a5b..325446668c 100644 --- a/src/main/java/com/google/devtools/build/lib/profiler/statistics/SkylarkStatistics.java +++ b/src/main/java/com/google/devtools/build/lib/profiler/statistics/SkylarkStatistics.java @@ -14,12 +14,10 @@ package com.google.devtools.build.lib.profiler.statistics; import com.google.common.collect.Maps; -import com.google.common.collect.Maps.EntryTransformer; import com.google.common.collect.Multimap; import com.google.devtools.build.lib.profiler.ProfileInfo; import com.google.devtools.build.lib.profiler.ProfileInfo.Task; import com.google.devtools.build.lib.util.LongArrayList; - import java.util.Collection; import java.util.HashMap; import java.util.Map; @@ -251,13 +249,6 @@ public final class SkylarkStatistics { */ private static Map<String, TasksStatistics> buildTasksStatistics( final Map<String, LongArrayList> durationsMap) { - return Maps.transformEntries( - durationsMap, - new EntryTransformer<String, LongArrayList, TasksStatistics>() { - @Override - public TasksStatistics transformEntry(String function, LongArrayList durations) { - return TasksStatistics.create(function, durations); - } - }); + return Maps.transformEntries(durationsMap, TasksStatistics::create); } } |