summaryrefslogtreecommitdiffstats
path: root/container-core/src/main/java/com/yahoo/container
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2021-02-03 14:59:09 +0100
committerGitHub <noreply@github.com>2021-02-03 14:59:09 +0100
commite40b6d86fe34f81a707034ac70cf1e3efa06a3c7 (patch)
tree47da23c7e4120c1f70c84db5c180180852cc6555 /container-core/src/main/java/com/yahoo/container
parent77f94db089a52a536e47f94753ed130d57c70bee (diff)
parent851a77bb26bcb9661dcdf6d485cda20d44d5186e (diff)
Merge pull request #16363 from vespa-engine/gjoranv/cleanup-StateHandler
Gjoranv/cleanup state handler
Diffstat (limited to 'container-core/src/main/java/com/yahoo/container')
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java17
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java26
2 files changed, 17 insertions, 26 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java
index 824323af3d6..ff73fcd3b4e 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java
@@ -17,7 +17,6 @@ import com.yahoo.jdisc.handler.ContentChannel;
import com.yahoo.jdisc.handler.ResponseDispatch;
import com.yahoo.jdisc.handler.ResponseHandler;
import com.yahoo.jdisc.http.HttpHeaders;
-import com.yahoo.metrics.MetricsPresentationConfig;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
@@ -29,7 +28,7 @@ import java.util.Map;
import java.util.concurrent.TimeUnit;
import static com.yahoo.container.jdisc.state.JsonUtil.sanitizeDouble;
-import static com.yahoo.container.jdisc.state.StateHandler.getSnapshotPreprocessor;
+import static com.yahoo.container.jdisc.state.StateHandler.getSnapshotProviderOrThrow;
/**
* This handler outputs metrics in a json-like format, consisting of a series of metrics packets.
@@ -60,18 +59,17 @@ public class MetricsPacketsHandler extends AbstractRequestHandler {
private final StateMonitor monitor;
private final Timer timer;
- private final SnapshotProvider snapshotPreprocessor;
+ private final SnapshotProvider snapshotProvider;
private final String applicationName;
@Inject
public MetricsPacketsHandler(StateMonitor monitor,
Timer timer,
- ComponentRegistry<SnapshotProvider> preprocessors,
- MetricsPresentationConfig presentation,
+ ComponentRegistry<SnapshotProvider> snapshotProviders,
MetricsPacketsHandlerConfig config) {
this.monitor = monitor;
this.timer = timer;
- snapshotPreprocessor = getSnapshotPreprocessor(preprocessors, presentation);
+ snapshotProvider = getSnapshotProviderOrThrow(snapshotProviders);
applicationName = config.application();
}
@@ -148,12 +146,7 @@ public class MetricsPacketsHandler extends AbstractRequestHandler {
}
private MetricSnapshot getSnapshot() {
- if (snapshotPreprocessor == null) {
- // TODO: throw exception in ctor instead
- return new MetricSnapshot(0L, 0L, TimeUnit.MILLISECONDS);
- } else {
- return snapshotPreprocessor.latestSnapshot();
- }
+ return snapshotProvider.latestSnapshot();
}
private List<JsonNode> getPacketsForSnapshot(MetricSnapshot metricSnapshot, String application, long timestamp) {
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java
index 5ac2871d9dd..0dd284e21cf 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java
@@ -19,7 +19,6 @@ import com.yahoo.jdisc.handler.ContentChannel;
import com.yahoo.jdisc.handler.ResponseDispatch;
import com.yahoo.jdisc.handler.ResponseHandler;
import com.yahoo.jdisc.http.HttpHeaders;
-import com.yahoo.metrics.MetricsPresentationConfig;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
@@ -54,20 +53,24 @@ public class StateHandler extends AbstractRequestHandler {
private final StateMonitor monitor;
private final Timer timer;
private final byte[] config;
- private final SnapshotProvider snapshotPreprocessor;
+ private final SnapshotProvider snapshotProvider;
@Inject
public StateHandler(StateMonitor monitor, Timer timer, ApplicationMetadataConfig config,
- ComponentRegistry<SnapshotProvider> preprocessors, MetricsPresentationConfig presentation) {
+ ComponentRegistry<SnapshotProvider> snapshotProviders) {
this.monitor = monitor;
this.timer = timer;
this.config = buildConfigOutput(config);
- snapshotPreprocessor = getSnapshotPreprocessor(preprocessors, presentation);
+ snapshotProvider = getSnapshotProviderOrThrow(snapshotProviders);
}
- static SnapshotProvider getSnapshotPreprocessor(ComponentRegistry<SnapshotProvider> preprocessors, MetricsPresentationConfig presentation) {
+ static SnapshotProvider getSnapshotProviderOrThrow(ComponentRegistry<SnapshotProvider> preprocessors) {
List<SnapshotProvider> allPreprocessors = preprocessors.allComponents();
- return (allPreprocessors.size() > 0) ? allPreprocessors.get(0) : null;
+ if (allPreprocessors.size() > 0) {
+ return allPreprocessors.get(0);
+ } else {
+ throw new IllegalArgumentException("At least one snapshot provider is required.");
+ }
}
@Override
@@ -188,8 +191,8 @@ public class StateHandler extends AbstractRequestHandler {
private byte[] buildHistogramsOutput() {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
- if (snapshotPreprocessor != null) {
- snapshotPreprocessor.histogram(new PrintStream(baos));
+ if (snapshotProvider != null) {
+ snapshotProvider.histogram(new PrintStream(baos));
}
return baos.toByteArray();
}
@@ -203,12 +206,7 @@ public class StateHandler extends AbstractRequestHandler {
}
private MetricSnapshot getSnapshot() {
- if (snapshotPreprocessor == null) {
- // TODO: throw exception in ctor instead
- return new MetricSnapshot(0L, 0L, TimeUnit.MILLISECONDS);
- } else {
- return snapshotPreprocessor.latestSnapshot();
- }
+ return snapshotProvider.latestSnapshot();
}
private StateMonitor.Status getStatus() {