Add node level statistics to query outputs Change-Id: I4d56c48ed83350c4ef19ae4449544bf0fff7b94a
diff --git a/src/main/java/com/googlesource/gerrit/plugins/task/TaskAttributeFactory.java b/src/main/java/com/googlesource/gerrit/plugins/task/TaskAttributeFactory.java index e683034..00b7dcf 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/task/TaskAttributeFactory.java +++ b/src/main/java/com/googlesource/gerrit/plugins/task/TaskAttributeFactory.java
@@ -59,6 +59,12 @@ } public static class TaskAttribute { + public static class Statistics { + public boolean isApplicableRefreshRequired; + public boolean isSubNodeReloadRequired; + public boolean isTaskRefreshNeeded; + } + public Boolean applicable; public Map<String, String> exported; public Boolean hasPass; @@ -69,6 +75,7 @@ public Status status; public List<TaskAttribute> subTasks; public Long evaluationMilliSeconds; + public Statistics statistics; public TaskAttribute(String name) { this.name = name; @@ -143,9 +150,10 @@ this.node = node; this.matchCache = matchCache; this.task = node.task; - this.attribute = new TaskAttribute(task.name()); + attribute = new TaskAttribute(task.name()); if (options.includeStatistics) { statistics.numberOfNodes++; + attribute.statistics = new TaskAttribute.Statistics(); } } @@ -194,6 +202,13 @@ if (options.evaluationTime) { attribute.evaluationMilliSeconds = millis() - attribute.evaluationMilliSeconds; } + if (attribute.statistics != null) { + attribute.statistics.isApplicableRefreshRequired = + node.properties.isApplicableRefreshRequired; + attribute.statistics.isSubNodeReloadRequired = + node.properties.isSubNodeReloadRequired(); + attribute.statistics.isTaskRefreshNeeded = node.properties.isTaskRefreshNeeded; + } return Optional.of(attribute); } }