summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-09-01 11:37:20 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2021-09-01 11:37:20 +0200
commitf94813947a67ff9b93e679226d186f767a8f0bb1 (patch)
treed974d74e7d08f05ba5b9050a81468ee2bae2317b /configserver
parent6cebfce1c3c817719ef6d5b06f8988b833c14b0d (diff)
Unify return path and metric updating.
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/Application.java22
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/monitoring/Metrics.java5
2 files changed, 15 insertions, 12 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/Application.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/Application.java
index 97acfd9b549..2133850e674 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/Application.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/Application.java
@@ -109,25 +109,25 @@ public class Application implements ModelResult {
ConfigCacheKey cacheKey = new ConfigCacheKey(configKey, defMd5);
log.log(Level.FINE, () -> TenantRepository.logPre(getId()) + ("Resolving config " + cacheKey));
+ ConfigResponse config;
if (useCache(req)) {
- ConfigResponse config = cache.get(cacheKey);
+ config = cache.get(cacheKey);
if (config != null) {
log.log(Level.FINE, () -> TenantRepository.logPre(getId()) + ("Found config " + cacheKey + " in cache"));
- metricUpdater.incrementProcTime(System.currentTimeMillis() - start);
- return config;
+ } else {
+ config = createConfigResponse(configKey, req, responseFactory);
+ cache.put(cacheKey, config, config.getConfigMd5());
+ metricUpdater.setCacheConfigElems(cache.configElems());
+ metricUpdater.setCacheChecksumElems(cache.checkSumElems());
}
- config = createConfigResponse(configKey, req, responseFactory);
- cache.put(cacheKey, config, config.getConfigMd5());
- metricUpdater.setCacheConfigElems(cache.configElems());
- metricUpdater.setCacheChecksumElems(cache.checkSumElems());
- return config;
} else {
- return createConfigResponse(configKey, req, responseFactory);
+ config = createConfigResponse(configKey, req, responseFactory);
}
+ metricUpdater.incrementProcTime(System.currentTimeMillis() - start);
+ return config;
}
private ConfigResponse createConfigResponse(ConfigKey<?> configKey, GetConfigRequest req, ConfigResponseFactory responseFactory) {
- long start = System.currentTimeMillis();
ConfigDefinition def = getTargetDef(req);
if (def == null) {
metricUpdater.incrementFailedRequests();
@@ -137,7 +137,7 @@ public class Application implements ModelResult {
var payload = createPayload(configKey, def);
var response = responseFactory.createResponse(payload.getFirst(), applicationGeneration, payload.getSecond());
- metricUpdater.incrementProcTime(System.currentTimeMillis() - start);
+
return response;
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/monitoring/Metrics.java b/configserver/src/main/java/com/yahoo/vespa/config/server/monitoring/Metrics.java
index dca58665f57..4dd647adca3 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/monitoring/Metrics.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/monitoring/Metrics.java
@@ -10,11 +10,14 @@ import com.yahoo.config.provision.TenantName;
import com.yahoo.container.jdisc.config.HealthMonitorConfig;
import com.yahoo.docproc.jdisc.metric.NullMetric;
import com.yahoo.jdisc.Metric;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Optional;
import java.util.logging.Level;
import com.yahoo.statistics.Statistics;
import com.yahoo.statistics.Counter;
-import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.ScheduledExecutorService;