aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/profiler/ProfileInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/profiler/ProfileInfo.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/profiler/ProfileInfo.java12
1 files changed, 10 insertions, 2 deletions
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 d30b3dfd48..10f124f043 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
@@ -14,7 +14,6 @@
package com.google.devtools.build.lib.profiler;
import static com.google.devtools.build.lib.profiler.ProfilerTask.CRITICAL_PATH;
-import static com.google.devtools.build.lib.profiler.ProfilerTask.CRITICAL_PATH_COMPONENT;
import static com.google.devtools.build.lib.profiler.ProfilerTask.TASK_COUNT;
import com.google.common.base.Joiner;
@@ -295,6 +294,15 @@ public class ProfileInfo {
public long getCriticalTime() {
return criticalTime;
}
+
+ /**
+ * @return true when this is just an action element on the critical path as logged by
+ * {@link com.google.devtools.build.lib.runtime.BuildSummaryStatsModule} and is thus a
+ * pre-processed and -analyzed critical path element
+ */
+ public boolean isComponent() {
+ return task.type == ProfilerTask.CRITICAL_PATH_COMPONENT;
+ }
}
/**
@@ -760,7 +768,7 @@ public class ProfileInfo {
public void analyzeCriticalPath(Set<ProfilerTask> ignoredTypes, CriticalPathEntry path) {
// With light critical path we do not need to analyze since it is already preprocessed
// by blaze build.
- if (path != null && path.task.type == CRITICAL_PATH_COMPONENT) {
+ if (path == null || path.isComponent()) {
return;
}
for (CriticalPathEntry entry = path; entry != null; entry = entry.next) {