Skip to content

Commit e0e088f

Browse files
committed
fixup! add monitorType JMX
1 parent 07e67f6 commit e0e088f

File tree

1 file changed

+11
-21
lines changed

1 file changed

+11
-21
lines changed

gateway-ha/src/main/java/io/trino/gateway/ha/clustermonitor/ClusterStatsJmxMonitor.java

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626

2727
import java.net.URI;
2828
import java.util.Map;
29-
import java.util.NoSuchElementException;
3029
import java.util.Optional;
3130
import java.util.stream.Collectors;
3231

@@ -102,31 +101,22 @@ public ClusterStats monitor(ProxyBackendConfiguration backend)
102101
log.info("Monitoring cluster stats for backend: %s", backend.getProxyTo());
103102
ClusterStats.Builder clusterStatsBuilder = ClusterStatsMonitor.getClusterStatsBuilder(backend);
104103

105-
try {
106-
JmxResponse discoveryResponse = queryJmx(backend, "trino.metadata:name=DiscoveryNodeManager")
107-
.orElseThrow(() -> new NoSuchElementException("No JMX response for DiscoveryNodeManager"));
108-
updateClusterStatsFromDiscoveryNodeManagerResponse(discoveryResponse, clusterStatsBuilder);
109-
}
110-
catch (NoSuchElementException e) {
111-
clusterStatsBuilder.trinoStatus(TrinoStatus.UNHEALTHY);
112-
}
104+
clusterStatsBuilder.proxyTo(backend.getProxyTo())
105+
.externalUrl(backend.getExternalUrl())
106+
.routingGroup(backend.getRoutingGroup());
113107

114-
try {
115-
JmxResponse queryResponse = queryJmx(backend, "trino.execution:name=QueryManager")
116-
.orElseThrow(() -> new NoSuchElementException("No JMX response for QueryManager"));
117-
updateClusterStatsFromQueryManagerResponse(queryResponse, clusterStatsBuilder);
118-
}
119-
catch (NoSuchElementException e) {
108+
Optional<JmxResponse> discoveryResponse = queryJmx(backend, "trino.metadata:name=DiscoveryNodeManager");
109+
Optional<JmxResponse> queryResponse = queryJmx(backend, "trino.execution:name=QueryManager");
110+
111+
if (discoveryResponse.isEmpty() || queryResponse.isEmpty()) {
120112
clusterStatsBuilder.trinoStatus(TrinoStatus.UNHEALTHY);
113+
return clusterStatsBuilder.build();
121114
}
122115

123-
clusterStatsBuilder.proxyTo(backend.getProxyTo())
124-
.externalUrl(backend.getExternalUrl())
125-
.routingGroup(backend.getRoutingGroup());
116+
discoveryResponse.ifPresent(response -> updateClusterStatsFromDiscoveryNodeManagerResponse(response, clusterStatsBuilder));
117+
queryResponse.ifPresent(response -> updateClusterStatsFromQueryManagerResponse(response, clusterStatsBuilder));
126118

127-
ClusterStats stats = clusterStatsBuilder.build();
128-
log.debug("Completed monitoring for backend: %s. Stats: %s", backend.getProxyTo(), stats);
129-
return stats;
119+
return clusterStatsBuilder.build();
130120
}
131121

132122
private Optional<JmxResponse> queryJmx(ProxyBackendConfiguration backend, String mbeanName)

0 commit comments

Comments
 (0)