in src/main/java/com/vispana/vespa/state/assemblers/ConfigNodesAssembler.java [17:47]
public static ConfigNodes assemble(String configHost, Map<String, MetricsNode> vespaMetrics) {
var clusterControllerUrl =
configHost + "/config/v1/cloud.config.cluster-info/admin/cluster-controllers";
var clusterControllers = requestGet(clusterControllerUrl, ClusterControllersSchema.class);
var configNodes =
clusterControllers.getServices().stream()
.map(
service -> {
var hostname = service.getHostname();
var queryPort =
service.getPorts().stream()
.filter(port -> port.getTags().contains("query"))
.map(port -> port.getNumber())
.findFirst()
.orElse(-1L);
var processStatus = processStatus(hostname, vespaMetrics);
var systemMetrics = systemMetrics(vespaMetrics.get(hostname));
return new ConfigNode(
service.getIndex().toString(),
new Host(hostname, queryPort.intValue()),
processStatus,
systemMetrics);
})
.toList();
var configCluster = new ConfigCluster(clusterControllers.getClusterId(), configNodes);
return new ConfigNodes(List.of(configCluster));
}