This is an automated email from the ASF dual-hosted git repository. ferdei pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new ae02811236 NIFI-11476: Populate resource consumitions ae02811236 is described below commit ae028112363612ff40ef24883aad025a347ff879 Author: Kalman Jantner <jant...@gmail.com> AuthorDate: Mon Apr 10 19:13:11 2023 +0200 NIFI-11476: Populate resource consumitions Signed-off-by: Ferenc Erdei <erdei.feren...@gmail.com> (cherry picked from commit 1fa5da9) --- .../org/apache/nifi/c2/client/service/C2HeartbeatFactory.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/c2/c2-client-bundle/c2-client-service/src/main/java/org/apache/nifi/c2/client/service/C2HeartbeatFactory.java b/c2/c2-client-bundle/c2-client-service/src/main/java/org/apache/nifi/c2/client/service/C2HeartbeatFactory.java index 92d85720d0..b157e8294e 100644 --- a/c2/c2-client-bundle/c2-client-service/src/main/java/org/apache/nifi/c2/client/service/C2HeartbeatFactory.java +++ b/c2/c2-client-bundle/c2-client-service/src/main/java/org/apache/nifi/c2/client/service/C2HeartbeatFactory.java @@ -36,6 +36,7 @@ import org.apache.nifi.c2.client.service.model.RuntimeInfoWrapper; import org.apache.nifi.c2.protocol.api.AgentInfo; import org.apache.nifi.c2.protocol.api.AgentManifest; import org.apache.nifi.c2.protocol.api.AgentRepositories; +import org.apache.nifi.c2.protocol.api.AgentResourceConsumption; import org.apache.nifi.c2.protocol.api.AgentStatus; import org.apache.nifi.c2.protocol.api.C2Heartbeat; import org.apache.nifi.c2.protocol.api.DeviceInfo; @@ -95,7 +96,9 @@ public class C2HeartbeatFactory { AgentStatus agentStatus = new AgentStatus(); agentStatus.setUptime(ManagementFactory.getRuntimeMXBean().getUptime()); agentStatus.setRepositories(repos); - + AgentResourceConsumption agentResourceConsumption = new AgentResourceConsumption(); + agentResourceConsumption.setMemoryUsage(Runtime.getRuntime().maxMemory() - Runtime.getRuntime().freeMemory()); + agentStatus.setResourceConsumption(agentResourceConsumption); agentInfo.setStatus(agentStatus); agentInfo.setAgentManifestHash(manifestHashProvider.calculateManifestHash(manifest.getBundles(), getSupportedOperations(manifest))); @@ -215,15 +218,14 @@ public class C2HeartbeatFactory { private SystemInfo generateSystemInfo() { SystemInfo systemInfo = new SystemInfo(); - systemInfo.setPhysicalMem(Runtime.getRuntime().maxMemory()); - systemInfo.setMemoryUsage(Runtime.getRuntime().maxMemory() - Runtime.getRuntime().freeMemory()); - systemInfo.setvCores(Runtime.getRuntime().availableProcessors()); OperatingSystemMXBean osMXBean = ManagementFactory.getOperatingSystemMXBean(); systemInfo.setMachineArch(osMXBean.getArch()); systemInfo.setOperatingSystem(osMXBean.getName()); double systemLoadAverage = osMXBean.getSystemLoadAverage(); + systemInfo.setvCores(osMXBean.getAvailableProcessors()); + // getSystemLoadAverage is not available in Windows, so we need to prevent to send invalid data if (systemLoadAverage >= 0) { systemInfo.setCpuUtilization(systemLoadAverage / (double) osMXBean.getAvailableProcessors());