in bigtop-manager-agent/src/main/java/org/apache/bigtop/manager/agent/grpc/service/HostInfoServiceGrpcImpl.java [40:73]
public void getHostInfo(HostInfoRequest request, StreamObserver<HostInfoReply> responseObserver) {
HostInfoReply.Builder builder = HostInfoReply.newBuilder();
try {
InetAddress addr = InetAddress.getLocalHost();
builder.setHostname(addr.getHostName());
builder.setIpv4(addr.getHostAddress());
OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
builder.setOs(OSDetection.getOS());
builder.setVersion(OSDetection.getVersion());
builder.setArch(OSDetection.getArch());
builder.setAvailableProcessors(osmxb.getAvailableProcessors());
builder.setProcessCpuTime(osmxb.getProcessCpuTime());
builder.setTotalMemorySize(osmxb.getTotalMemorySize());
builder.setFreeMemorySize(osmxb.getFreeMemorySize());
builder.setTotalSwapSpaceSize(osmxb.getTotalSwapSpaceSize());
builder.setFreeSwapSpaceSize(osmxb.getFreeSwapSpaceSize());
builder.setCommittedVirtualMemorySize(osmxb.getCommittedVirtualMemorySize());
builder.setCpuLoad(String.valueOf(osmxb.getCpuLoad()));
builder.setProcessCpuLoad(String.valueOf(osmxb.getProcessCpuLoad()));
builder.setSystemLoadAverage(String.valueOf(osmxb.getSystemLoadAverage()));
builder.setFreeDisk(OSDetection.freeDisk());
builder.setTotalDisk(OSDetection.totalDisk());
responseObserver.onNext(builder.build());
responseObserver.onCompleted();
} catch (Exception e) {
log.error("Error getting host info", e);
Status status = Status.UNKNOWN.withDescription(e.getMessage());
responseObserver.onError(status.asRuntimeException());
}
}