server/src/main/java/org/elasticsearch/health/node/DiskHealthIndicatorService.java
private final ClusterService clusterService;
    public DiskHealthIndicatorService(ClusterService clusterService) {
        this.clusterService = clusterService;
    }
    @Override
    public String name() {
        return NAME;
    }
    @Override
    public HealthIndicatorResult calculate(boolean explain, HealthInfo healthInfo) {
        Map<String, DiskHealthInfo> diskHealthInfoMap = healthInfo.diskInfoByNode();
        if (diskHealthInfoMap == null || diskHealthInfoMap.isEmpty()) {
            /*
             * If there is no disk health info, that either means that a new health node was just elected, or something is seriously
             * wrong with health data collection on the health node. Either way, we immediately return UNKNOWN. If there are at least
             * some health info results then we work with what we have (and log any missing ones at debug level immediately below this).
             */
            return createIndicator(
                HealthStatus.UNKNOWN,
                "No disk usage data.",
                HealthIndicatorDetails.EMPTY,
                Collections.emptyList(),
                Collections.emptyList()
            );
        }
        ClusterState clusterState = clusterService.state();
        logNodesMissingHealthInfo(diskHealthInfoMap, clusterState);
        DiskHealthAnalyzer diskHealthAnalyzer = new DiskHealthAnalyzer(diskHealthInfoMap, clusterState);
        return createIndicator(
            diskHealthAnalyzer.getHealthStatus(),