/** * Updates all the series from the current snapshot. * * @param current the current snapshot. * @since 1.607 */ protected void updateCounts(LoadStatisticsSnapshot current) { definedExecutors.update(current.getDefinedExecutors()); onlineExecutors.update(current.getOnlineExecutors()); connectingExecutors.update(current.getConnectingExecutors()); busyExecutors.update(current.getBusyExecutors()); idleExecutors.update(current.getIdleExecutors()); availableExecutors.update(current.getAvailableExecutors()); queueLength.update(current.getQueueLength()); }
/** * Computes the self-consistent snapshot with the specified queue items. * * @param queue the queue items. * @return a self-consistent snapshot of the load statistics. * @since 1.607 */ protected LoadStatisticsSnapshot computeSnapshot(Iterable<Queue.BuildableItem> queue) { final LoadStatisticsSnapshot.Builder builder = LoadStatisticsSnapshot.builder(); final Iterable<Node> nodes = getNodes(); if (nodes != null) { for (Node node : nodes) { builder.with(node); } } int q = 0; if (queue != null) { for (Queue.BuildableItem item : queue) { for (SubTask st : item.task.getSubTasks()) { if (matches(item, st)) q++; } } } return builder.withQueueLength(q).build(); }