Skip to content

Commit 7ca60a2

Browse files
committed
Ref #34717: fix ProxySharing Metrics
See micrometer-metrics/micrometer@c727411
1 parent 1491bd6 commit 7ca60a2

2 files changed

Lines changed: 8 additions & 10 deletions

File tree

src/main/java/eu/openanalytics/containerproxy/backend/dispatcher/proxysharing/ProxySharingDispatcher.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
import eu.openanalytics.containerproxy.util.MathUtil;
4747
import org.slf4j.Logger;
4848
import org.slf4j.LoggerFactory;
49-
import org.springframework.beans.factory.annotation.Autowired;
49+
import org.springframework.beans.factory.ObjectProvider;
5050
import org.springframework.context.ApplicationEventPublisher;
5151
import org.springframework.context.event.EventListener;
5252
import org.springframework.core.env.Environment;
@@ -88,8 +88,8 @@ public class ProxySharingDispatcher implements IProxyDispatcher {
8888
private IProxyStore proxyStore;
8989
@Inject
9090
private Environment environment;
91-
@Autowired(required = false)
92-
private ProxySharingMicrometer proxySharingMicrometer = null;
91+
@Inject
92+
private ObjectProvider<ProxySharingMicrometer> proxySharingMicrometer;
9393

9494
public ProxySharingDispatcher(ProxySpec proxySpec, IDelegateProxyStore delegateProxyStore, ISeatStore seatStore) {
9595
this.proxySpec = proxySpec;
@@ -162,9 +162,7 @@ public Proxy startProxy(Authentication user, Proxy proxy, ProxySpec spec, ProxyS
162162
info(proxy, seat, "Seat claimed");
163163
applicationEventPublisher.publishEvent(new SeatClaimedEvent(spec.getId(), proxy.getId()));
164164
LocalDateTime endTime = LocalDateTime.now();
165-
if (proxySharingMicrometer != null) {
166-
proxySharingMicrometer.registerSeatWaitTime(spec.getId(), Duration.between(startTime, endTime));
167-
}
165+
proxySharingMicrometer.ifAvailable(p -> p.registerSeatWaitTime(spec.getId(), Duration.between(startTime, endTime)));
168166

169167
Proxy delegateProxy = delegateProxyStore.getDelegateProxy(seat.getDelegateProxyId()).getProxy();
170168

src/main/java/eu/openanalytics/containerproxy/backend/dispatcher/proxysharing/ProxySharingMicrometer.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public void onNewProxyEvent(NewProxyEvent event) {
128128
}
129129
if (specIds.contains(event.getSpecId())) {
130130
recentProxies.put(event.getProxyId(), event.getProxyId());
131-
registry.gauge("delegate_app_info",
131+
registry.gauge("delegate.app.info",
132132
Tags.of(
133133
"spec.id", event.getSpecId(),
134134
"proxy.id", event.getProxyId(),
@@ -163,7 +163,7 @@ private void updateDelegateAppInfo() {
163163
continue;
164164
}
165165

166-
registry.gauge("delegate_app_info",
166+
registry.gauge("delegate.app.info",
167167
Tags.of(
168168
"spec.id", specId,
169169
"proxy.id", proxy.getId(),
@@ -181,7 +181,7 @@ private void updateDelegateAppInfo() {
181181
// when the TTL of this proxy in recentProxies expires, the gauge will be removed
182182
// this waiting period allows the metric system to pick up that the proxy is being removed
183183
registry.remove(gauge);
184-
registry.gauge("delegate_app_info",
184+
registry.gauge("delegate.app.info",
185185
Tags.of(
186186
"spec.id", gauge.getId().getTag("spec.id"),
187187
"proxy.id", gauge.getId().getTag("proxy.id"),
@@ -203,7 +203,7 @@ private void updateDelegateAppInfo() {
203203

204204
private Map<String, Gauge> getDelegateAppInfoGauges() {
205205
try {
206-
return new HashMap<>(registry.get("delegate_app_info").gauges().stream()
206+
return new HashMap<>(registry.get("delegate.app.info").gauges().stream()
207207
.collect(Collectors.toMap(g -> g.getId().getTag("proxy.id"), g -> g)));
208208
} catch (MeterNotFoundException ignored) {
209209
return new HashMap<>();

0 commit comments

Comments
 (0)