timeabarna commented on a change in pull request #5115:
URL: https://github.com/apache/nifi/pull/5115#discussion_r644502293
##########
File path:
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-reporting-tasks/src/main/java/org/apache/nifi/controller/MonitorMemory.java
##########
@@ -90,14 +91,20 @@
+ " that the memory pool is exceeding this threshold.")
public class MonitorMemory extends AbstractReportingTask {
+ private static final List<String> GC_OLD_GEN_POOLS =
Arrays.asList("Tenured Gen", "PS Old Gen", "G1 Old Gen", "CMS Old Gen",
"ZHeap");
Review comment:
Thanks @Lehel44 converted the list to unmodifiable
##########
File path:
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-reporting-tasks/src/main/java/org/apache/nifi/controller/MonitorMemory.java
##########
@@ -90,14 +91,20 @@
+ " that the memory pool is exceeding this threshold.")
public class MonitorMemory extends AbstractReportingTask {
+ private static final List<String> GC_OLD_GEN_POOLS =
Arrays.asList("Tenured Gen", "PS Old Gen", "G1 Old Gen", "CMS Old Gen",
"ZHeap");
private static final AllowableValue[] memPoolAllowableValues;
+ private static String defaultMemoryPool;
static {
// Only allow memory pool beans that support usage thresholds,
otherwise we wouldn't report anything anyway
List<MemoryPoolMXBean> memoryPoolBeans =
ManagementFactory.getMemoryPoolMXBeans().stream().filter(MemoryPoolMXBean::isUsageThresholdSupported).collect(Collectors.toList());
memPoolAllowableValues = new AllowableValue[memoryPoolBeans.size()];
for (int i = 0; i < memPoolAllowableValues.length; i++) {
- memPoolAllowableValues[i] = new
AllowableValue(memoryPoolBeans.get(i).getName());
+ final String poolName = memoryPoolBeans.get(i).getName();
Review comment:
Converted the code to stream with a minor modification on you suggestion
as Array contains AllowableValues not string, so a conversion needed first.
##########
File path:
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-reporting-tasks/src/main/java/org/apache/nifi/controller/MonitorMemory.java
##########
@@ -90,14 +91,20 @@
+ " that the memory pool is exceeding this threshold.")
public class MonitorMemory extends AbstractReportingTask {
+ private static final List<String> GC_OLD_GEN_POOLS =
Arrays.asList("Tenured Gen", "PS Old Gen", "G1 Old Gen", "CMS Old Gen",
"ZHeap");
private static final AllowableValue[] memPoolAllowableValues;
+ private static String defaultMemoryPool;
static {
// Only allow memory pool beans that support usage thresholds,
otherwise we wouldn't report anything anyway
List<MemoryPoolMXBean> memoryPoolBeans =
ManagementFactory.getMemoryPoolMXBeans().stream().filter(MemoryPoolMXBean::isUsageThresholdSupported).collect(Collectors.toList());
memPoolAllowableValues = new AllowableValue[memoryPoolBeans.size()];
for (int i = 0; i < memPoolAllowableValues.length; i++) {
- memPoolAllowableValues[i] = new
AllowableValue(memoryPoolBeans.get(i).getName());
+ final String poolName = memoryPoolBeans.get(i).getName();
+ if (defaultMemoryPool == null &&
GC_OLD_GEN_POOLS.contains(poolName)) {
Review comment:
With the stream refactor this part is no longer applicable however the
goal was to stop looking for the default value after we found it
(defaultMemoryPool = poolName;).
##########
File path:
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-reporting-tasks/src/main/java/org/apache/nifi/controller/MonitorMemory.java
##########
@@ -90,14 +91,20 @@
+ " that the memory pool is exceeding this threshold.")
public class MonitorMemory extends AbstractReportingTask {
+ private static final List<String> GC_OLD_GEN_POOLS =
Arrays.asList("Tenured Gen", "PS Old Gen", "G1 Old Gen", "CMS Old Gen",
"ZHeap");
private static final AllowableValue[] memPoolAllowableValues;
+ private static String defaultMemoryPool;
static {
// Only allow memory pool beans that support usage thresholds,
otherwise we wouldn't report anything anyway
List<MemoryPoolMXBean> memoryPoolBeans =
ManagementFactory.getMemoryPoolMXBeans().stream().filter(MemoryPoolMXBean::isUsageThresholdSupported).collect(Collectors.toList());
memPoolAllowableValues = new AllowableValue[memoryPoolBeans.size()];
for (int i = 0; i < memPoolAllowableValues.length; i++) {
- memPoolAllowableValues[i] = new
AllowableValue(memoryPoolBeans.get(i).getName());
+ final String poolName = memoryPoolBeans.get(i).getName();
Review comment:
Thanks @Lehel44 Converted the code to stream with a minor modification
on your suggestion, as Array contains AllowableValues not string, a conversion
needed first.
##########
File path:
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-reporting-tasks/src/main/java/org/apache/nifi/controller/MonitorMemory.java
##########
@@ -90,14 +91,20 @@
+ " that the memory pool is exceeding this threshold.")
public class MonitorMemory extends AbstractReportingTask {
+ private static final List<String> GC_OLD_GEN_POOLS =
Arrays.asList("Tenured Gen", "PS Old Gen", "G1 Old Gen", "CMS Old Gen",
"ZHeap");
private static final AllowableValue[] memPoolAllowableValues;
+ private static String defaultMemoryPool;
static {
// Only allow memory pool beans that support usage thresholds,
otherwise we wouldn't report anything anyway
List<MemoryPoolMXBean> memoryPoolBeans =
ManagementFactory.getMemoryPoolMXBeans().stream().filter(MemoryPoolMXBean::isUsageThresholdSupported).collect(Collectors.toList());
memPoolAllowableValues = new AllowableValue[memoryPoolBeans.size()];
for (int i = 0; i < memPoolAllowableValues.length; i++) {
- memPoolAllowableValues[i] = new
AllowableValue(memoryPoolBeans.get(i).getName());
+ final String poolName = memoryPoolBeans.get(i).getName();
+ if (defaultMemoryPool == null &&
GC_OLD_GEN_POOLS.contains(poolName)) {
Review comment:
Thanks @Lehel44 With the stream refactor this part is no longer
applicable however the goal was to stop looking for the default value after we
found it (defaultMemoryPool = poolName;).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]