public void getHostInfo()

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());
        }
    }