aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-06-29 17:58:35 +0200
committerGitHub <noreply@github.com>2022-06-29 17:58:35 +0200
commit63d415951811b71dc94dec840673160f76e1a0a0 (patch)
tree80742fcbfd87516a8f81902519b6bf036ff36902
parent2edc796a4aae38fb6d468a69600da9ba07254fa5 (diff)
parent02a376fea1b1f11e45fdabfde8e96cebe3b83316 (diff)
Merge pull request #23280 from vespa-engine/revert-23273-bjorncs/application-status-handlerv8.11.15
Revert "Bjorncs/application status handler"
-rwxr-xr-xconfig-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/docproc/DocprocChains.java8
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java2
-rw-r--r--container-search-and-docproc/src/main/java/com/yahoo/container/handler/observability/ApplicationStatusHandler.java (renamed from container-disc/src/main/java/com/yahoo/container/handler/observability/ApplicationStatusHandler.java)166
-rw-r--r--container-search-and-docproc/src/main/java/com/yahoo/container/handler/observability/package-info.java (renamed from container-disc/src/main/java/com/yahoo/container/handler/observability/package-info.java)5
-rw-r--r--container-search-and-docproc/src/main/resources/configdefinitions/container.handler.observability.application-userdata.def (renamed from container-disc/src/main/resources/configdefinitions/container.handler.observability.application-userdata.def)0
-rw-r--r--container-search-and-docproc/src/test/java/com/yahoo/container/handler/observability/ApplicationStatusHandlerTest.java (renamed from container-disc/src/test/java/com/yahoo/container/handler/observability/ApplicationStatusHandlerTest.java)3
-rw-r--r--container-search/pom.xml6
-rw-r--r--container-search/src/main/java/com/yahoo/search/handler/observability/SearchStatusExtension.java32
-rw-r--r--container-search/src/main/java/com/yahoo/search/handler/observability/package-info.java8
-rw-r--r--docproc/pom.xml6
-rw-r--r--docproc/src/main/java/com/yahoo/docproc/jdisc/observability/DocprocsStatusExtension.java51
-rw-r--r--docproc/src/main/java/com/yahoo/docproc/jdisc/observability/package-info.java8
13 files changed, 111 insertions, 188 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
index f0b1af30c88..4755f674f69 100755
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
@@ -227,8 +227,8 @@ public abstract class ContainerCluster<CONTAINER extends Container>
public void addApplicationStatusHandler() {
Handler<AbstractConfigProducer<?>> statusHandler = new Handler<>(
- new ComponentModel(BundleInstantiationSpecification.getFromStrings(
- APPLICATION_STATUS_HANDLER_CLASS, null, null), null)); // null bundle, as the handler is in container-disc
+ new ComponentModel(BundleInstantiationSpecification.getInternalHandlerSpecificationFromStrings(
+ APPLICATION_STATUS_HANDLER_CLASS, null), null));
statusHandler.addServerBindings(SystemBindingPattern.fromHttpPath("/ApplicationStatus"));
addComponent(statusHandler);
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/docproc/DocprocChains.java b/config-model/src/main/java/com/yahoo/vespa/model/container/docproc/DocprocChains.java
index 31ba195775b..4b9897d0950 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/docproc/DocprocChains.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/docproc/DocprocChains.java
@@ -3,10 +3,7 @@ package com.yahoo.vespa.model.container.docproc;
import com.yahoo.component.ComponentId;
import com.yahoo.config.model.producer.AbstractConfigProducer;
-import com.yahoo.container.bundle.BundleInstantiationSpecification;
import com.yahoo.container.jdisc.config.SessionConfig;
-import com.yahoo.docproc.jdisc.observability.DocprocsStatusExtension;
-import com.yahoo.osgi.provider.model.ComponentModel;
import com.yahoo.vespa.model.container.ApplicationContainerCluster;
import com.yahoo.vespa.model.container.ContainerCluster;
import com.yahoo.vespa.model.container.component.Component;
@@ -28,11 +25,6 @@ public class DocprocChains extends Chains<DocprocChain> {
super(parent, subId);
docprocHandler = new ProcessingHandler<>(this, "com.yahoo.docproc.jdisc.DocumentProcessingHandler");
addComponent(docprocHandler);
- addComponent(
- new SimpleComponent(
- new ComponentModel(
- BundleInstantiationSpecification.getInternalProcessingSpecificationFromStrings(
- DocprocsStatusExtension.class.getName(), null), null)));
if (! (getParent() instanceof ApplicationContainerCluster)) {
// All application containers already have a DocumentTypeManager,
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java
index 58151063956..97c3f85dced 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java
@@ -5,7 +5,6 @@ import com.yahoo.container.QrSearchersConfig;
import com.yahoo.prelude.semantics.SemanticRulesConfig;
import com.yahoo.search.config.IndexInfoConfig;
import com.yahoo.search.config.SchemaInfoConfig;
-import com.yahoo.search.handler.observability.SearchStatusExtension;
import com.yahoo.search.pagetemplates.PageTemplatesConfig;
import com.yahoo.search.query.profile.compiled.CompiledQueryProfileRegistry;
import com.yahoo.search.query.profile.config.QueryProfilesConfig;
@@ -58,7 +57,6 @@ public class ContainerSearch extends ContainerSubsystem<SearchChains>
owningCluster.addComponent(Component.fromClassAndBundle(QUERY_PROFILE_REGISTRY_CLASS, searchAndDocprocBundle));
owningCluster.addComponent(Component.fromClassAndBundle(com.yahoo.search.schema.SchemaInfo.class.getName(), searchAndDocprocBundle));
- owningCluster.addComponent(Component.fromClassAndBundle(SearchStatusExtension.class.getName(), searchAndDocprocBundle));
}
public void connectSearchClusters(Map<String, SearchCluster> searchClusters) {
diff --git a/container-disc/src/main/java/com/yahoo/container/handler/observability/ApplicationStatusHandler.java b/container-search-and-docproc/src/main/java/com/yahoo/container/handler/observability/ApplicationStatusHandler.java
index 67862533259..09b5a6ff85e 100644
--- a/container-disc/src/main/java/com/yahoo/container/handler/observability/ApplicationStatusHandler.java
+++ b/container-search-and-docproc/src/main/java/com/yahoo/container/handler/observability/ApplicationStatusHandler.java
@@ -6,15 +6,18 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.yahoo.component.Component;
+import com.yahoo.component.annotation.Inject;
+import com.yahoo.component.AbstractComponent;
import com.yahoo.component.ComponentId;
import com.yahoo.component.Vtag;
-import com.yahoo.component.annotation.Inject;
import com.yahoo.component.chain.Chain;
import com.yahoo.component.provider.ComponentRegistry;
import com.yahoo.container.Container;
import com.yahoo.container.core.ApplicationMetadataConfig;
import com.yahoo.container.jdisc.JdiscBindingsConfig;
+import com.yahoo.docproc.Call;
+import com.yahoo.docproc.impl.DocprocService;
+import com.yahoo.docproc.jdisc.DocumentProcessingHandler;
import com.yahoo.jdisc.handler.AbstractRequestHandler;
import com.yahoo.jdisc.handler.CompletionHandler;
import com.yahoo.jdisc.handler.ContentChannel;
@@ -29,13 +32,15 @@ import com.yahoo.jdisc.service.ServerProvider;
import com.yahoo.processing.Processor;
import com.yahoo.processing.execution.chain.ChainRegistry;
import com.yahoo.processing.handler.ProcessingHandler;
+import com.yahoo.search.handler.SearchHandler;
+import com.yahoo.search.searchchain.SearchChainRegistry;
import org.osgi.framework.Bundle;
import org.osgi.framework.FrameworkUtil;
import java.nio.ByteBuffer;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Date;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -44,14 +49,9 @@ import java.util.Map;
*
* @author gjoranv
* @author Einar M R Rosenvinge
- * @author bjorncs
*/
public class ApplicationStatusHandler extends AbstractRequestHandler {
- public interface Extension {
- Map<String, ? extends JsonNode> produceExtraFields(ApplicationStatusHandler handler);
- }
-
private static final ObjectMapper jsonMapper = new ObjectMapper();
private final JsonNode applicationJson;
@@ -60,7 +60,6 @@ public class ApplicationStatusHandler extends AbstractRequestHandler {
private final JsonNode requestFiltersJson;
private final JsonNode responseFiltersJson;
private final JdiscBindingsConfig bindingsConfig;
- private final Collection<Extension> extensions;
@Inject
public ApplicationStatusHandler(ApplicationMetadataConfig metaConfig,
@@ -69,8 +68,8 @@ public class ApplicationStatusHandler extends AbstractRequestHandler {
ComponentRegistry<ClientProvider> clientProviderRegistry,
ComponentRegistry<ServerProvider> serverProviderRegistry,
ComponentRegistry<RequestFilterBase> requestFilterRegistry,
- ComponentRegistry<ResponseFilterBase> responseFilterRegistry,
- ComponentRegistry<Extension> extensions) {
+ ComponentRegistry<ResponseFilterBase> responseFilterRegistry) {
+
applicationJson = renderApplicationConfigs(metaConfig, userConfig);
clientsJson = renderRequestHandlers(bindingsConfig, clientProviderRegistry.allComponentsById());
serversJson = renderObjectComponents(serverProviderRegistry.allComponentsById());
@@ -78,11 +77,14 @@ public class ApplicationStatusHandler extends AbstractRequestHandler {
responseFiltersJson = renderObjectComponents(responseFilterRegistry.allComponentsById());
this.bindingsConfig = bindingsConfig;
- this.extensions = extensions.allComponents();
}
@Override
public ContentChannel handleRequest(com.yahoo.jdisc.Request request, ResponseHandler handler) {
+ JsonNode json = new StatusResponse(applicationJson, clientsJson, serversJson,
+ requestFiltersJson, responseFiltersJson, bindingsConfig)
+ .render();
+
FastContentWriter writer = new FastContentWriter(new ResponseDispatch() {
@Override
protected com.yahoo.jdisc.Response newResponse() {
@@ -93,7 +95,7 @@ public class ApplicationStatusHandler extends AbstractRequestHandler {
}.connect(handler));
try {
- writer.write(jsonMapper.writerWithDefaultPrettyPrinter().writeValueAsBytes(render()));
+ writer.write(jsonMapper.writerWithDefaultPrettyPrinter().writeValueAsBytes(json));
} catch (JsonProcessingException e) {
throw new RuntimeException("Invalid JSON: " + e.getMessage(), e);
}
@@ -102,18 +104,8 @@ public class ApplicationStatusHandler extends AbstractRequestHandler {
return new IgnoredContent();
}
- public ObjectMapper jsonMapper() { return jsonMapper; }
-
- public Collection<RequestHandler> requestHandlers() { return container().getRequestHandlerRegistry().allComponents(); }
-
- private Map<ComponentId, RequestHandler> requestHandlersById() { return container().getRequestHandlerRegistry().allComponentsById(); }
-
- private List<? extends Component> components() { return container().getComponentRegistry().allComponents(); }
-
- private static Container container() { return Container.get(); }
-
static JsonNode renderApplicationConfigs(ApplicationMetadataConfig metaConfig,
- ApplicationUserdataConfig userConfig) {
+ ApplicationUserdataConfig userConfig) {
ObjectNode vespa = jsonMapper.createObjectNode();
vespa.put("version", Vtag.currentVersion.toString());
@@ -147,7 +139,7 @@ public class ApplicationStatusHandler extends AbstractRequestHandler {
}
static JsonNode renderRequestHandlers(JdiscBindingsConfig bindingsConfig,
- Map<ComponentId, ? extends RequestHandler> handlersById) {
+ Map<ComponentId, ? extends RequestHandler> handlersById) {
ArrayNode ret = jsonMapper.createArrayNode();
for (Map.Entry<ComponentId, ? extends RequestHandler> handlerEntry : handlersById.entrySet()) {
@@ -183,17 +175,17 @@ public class ApplicationStatusHandler extends AbstractRequestHandler {
return ret;
}
- private static JsonNode renderAbstractComponents(List<? extends Component> components) {
+ private static JsonNode renderAbstractComponents(List<? extends AbstractComponent> components) {
ArrayNode ret = jsonMapper.createArrayNode();
- for (Component c : components) {
+ for (AbstractComponent c : components) {
JsonNode jc = renderComponent(c, c.getId());
ret.add(jc);
}
return ret;
}
- public static ObjectNode renderComponent(Object component, ComponentId id) {
+ private static ObjectNode renderComponent(Object component, ComponentId id) {
ObjectNode jc = jsonMapper.createObjectNode();
jc.put("id", id.stringValue());
addBundleInfo(jc, component);
@@ -229,48 +221,102 @@ public class ApplicationStatusHandler extends AbstractRequestHandler {
}
}
- JsonNode render() {
- ObjectNode root = jsonMapper.createObjectNode();
+ static final class StatusResponse {
+ private final JsonNode applicationJson;
+ private final JsonNode clientsJson;
+ private final JsonNode serversJson;
+ private final JsonNode requestFiltersJson;
+ private final JsonNode responseFiltersJson;
+ private final JdiscBindingsConfig bindingsConfig;
+
+ StatusResponse(JsonNode applicationJson,
+ JsonNode clientsJson,
+ JsonNode serversJson,
+ JsonNode requestFiltersJson,
+ JsonNode responseFiltersJson,
+ JdiscBindingsConfig bindingsConfig) {
+ this.applicationJson = applicationJson;
+ this.clientsJson = clientsJson;
+ this.serversJson = serversJson;
+ this.requestFiltersJson = requestFiltersJson;
+ this.responseFiltersJson = responseFiltersJson;
+ this.bindingsConfig = bindingsConfig;
+ }
+
+ public JsonNode render() {
+ ObjectNode root = jsonMapper.createObjectNode();
- root.set("application", applicationJson);
- root.set("abstractComponents",
- renderAbstractComponents(components()));
+ root.set("application", applicationJson);
+ root.set("abstractComponents",
+ renderAbstractComponents(Container.get().getComponentRegistry().allComponents()));
- root.set("handlers", renderRequestHandlers(bindingsConfig, requestHandlersById()));
- root.set("clients", clientsJson);
- root.set("servers", serversJson);
- root.set("httpRequestFilters", requestFiltersJson);
- root.set("httpResponseFilters", responseFiltersJson);
+ root.set("handlers",
+ renderRequestHandlers(bindingsConfig, Container.get().getRequestHandlerRegistry().allComponentsById()));
+ root.set("clients", clientsJson);
+ root.set("servers", serversJson);
+ root.set("httpRequestFilters", requestFiltersJson);
+ root.set("httpResponseFilters", responseFiltersJson);
- root.set("processingChains", renderProcessingChains());
- for (Extension extension : extensions) {
- extension.produceExtraFields(this).forEach((field, json) -> {
- if (root.has(field)) throw new IllegalArgumentException("Field '" + field + "' already defined");
- root.set(field, json);
- });
+ root.set("searchChains", renderSearchChains(Container.get()));
+ root.set("docprocChains", renderDocprocChains(Container.get()));
+ root.set("processingChains", renderProcessingChains(Container.get()));
+ return root;
}
- return root;
- }
- private JsonNode renderProcessingChains() {
- JsonNode ret = jsonMapper.createObjectNode();
- for (RequestHandler h : requestHandlers()) {
- if (h instanceof ProcessingHandler) {
- ChainRegistry<Processor> registry = ((ProcessingHandler) h).getChainRegistry();
- return renderChains(registry);
+ private static JsonNode renderSearchChains(Container container) {
+ for (RequestHandler h : container.getRequestHandlerRegistry().allComponents()) {
+ if (h instanceof SearchHandler) {
+ SearchChainRegistry scReg = ((SearchHandler) h).getSearchChainRegistry();
+ return renderChains(scReg);
+ }
}
+ return jsonMapper.createObjectNode();
}
- return ret;
- }
- // Note the generic param here! The key to make this work is '? extends Chain', but why?
- public static JsonNode renderChains(ComponentRegistry<? extends Chain<?>> chains) {
- ObjectNode ret = jsonMapper.createObjectNode();
- for (Chain<?> chain : chains.allComponents()) {
- ret.set(chain.getId().stringValue(), renderAbstractComponents(chain.components()));
+ private static JsonNode renderDocprocChains(Container container) {
+ ObjectNode ret = jsonMapper.createObjectNode();
+ for (RequestHandler h : container.getRequestHandlerRegistry().allComponents()) {
+ if (h instanceof DocumentProcessingHandler) {
+ ComponentRegistry<DocprocService> registry = ((DocumentProcessingHandler) h).getDocprocServiceRegistry();
+ for (DocprocService service : registry.allComponents()) {
+ ret.set(service.getId().stringValue(), renderCalls(service.getCallStack().iterator()));
+ }
+ }
+ }
+ return ret;
}
- return ret;
+
+ private static JsonNode renderProcessingChains(Container container) {
+ JsonNode ret = jsonMapper.createObjectNode();
+ for (RequestHandler h : container.getRequestHandlerRegistry().allComponents()) {
+ if (h instanceof ProcessingHandler) {
+ ChainRegistry<Processor> registry = ((ProcessingHandler) h).getChainRegistry();
+ return renderChains(registry);
+ }
+ }
+ return ret;
+ }
+
+ // Note the generic param here! The key to make this work is '? extends Chain', but why?
+ static JsonNode renderChains(ComponentRegistry<? extends Chain<?>> chains) {
+ ObjectNode ret = jsonMapper.createObjectNode();
+ for (Chain<?> chain : chains.allComponents()) {
+ ret.set(chain.getId().stringValue(), renderAbstractComponents(chain.components()));
+ }
+ return ret;
+ }
+
+ private static JsonNode renderCalls(Iterator<Call> components) {
+ ArrayNode ret = jsonMapper.createArrayNode();
+ while (components.hasNext()) {
+ Call c = components.next();
+ JsonNode jc = renderComponent(c.getDocumentProcessor(), c.getDocumentProcessor().getId());
+ ret.add(jc);
+ }
+ return ret;
+ }
+
}
private class IgnoredContent implements ContentChannel {
diff --git a/container-disc/src/main/java/com/yahoo/container/handler/observability/package-info.java b/container-search-and-docproc/src/main/java/com/yahoo/container/handler/observability/package-info.java
index 1a669b176d0..7f9dc3d1cd9 100644
--- a/container-disc/src/main/java/com/yahoo/container/handler/observability/package-info.java
+++ b/container-search-and-docproc/src/main/java/com/yahoo/container/handler/observability/package-info.java
@@ -1,8 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-/**
- * @author bjorncs
- */
@ExportPackage
package com.yahoo.container.handler.observability;
-import com.yahoo.osgi.annotation.ExportPackage; \ No newline at end of file
+import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/container-disc/src/main/resources/configdefinitions/container.handler.observability.application-userdata.def b/container-search-and-docproc/src/main/resources/configdefinitions/container.handler.observability.application-userdata.def
index cde92df9ef4..cde92df9ef4 100644
--- a/container-disc/src/main/resources/configdefinitions/container.handler.observability.application-userdata.def
+++ b/container-search-and-docproc/src/main/resources/configdefinitions/container.handler.observability.application-userdata.def
diff --git a/container-disc/src/test/java/com/yahoo/container/handler/observability/ApplicationStatusHandlerTest.java b/container-search-and-docproc/src/test/java/com/yahoo/container/handler/observability/ApplicationStatusHandlerTest.java
index 4c58a943199..317f5fc1329 100644
--- a/container-disc/src/test/java/com/yahoo/container/handler/observability/ApplicationStatusHandlerTest.java
+++ b/container-search-and-docproc/src/test/java/com/yahoo/container/handler/observability/ApplicationStatusHandlerTest.java
@@ -22,6 +22,7 @@ import static org.junit.Assert.assertTrue;
/**
* @author gjoranv
+ * @since 5.1.10
*/
public class ApplicationStatusHandlerTest {
@@ -113,7 +114,7 @@ public class ApplicationStatusHandlerTest {
Chain<Processor> chain = new Chain<>("myChain", new VoidProcessor(new ComponentId("voidProcessor")));
chains.register(new ComponentId("myChain"), chain);
- String json = ApplicationStatusHandler.renderChains(chains).toString();
+ String json = ApplicationStatusHandler.StatusResponse.renderChains(chains).toString();
assertTrue(json.contains("myChain"));
assertTrue(json.contains("voidProcessor"));
}
diff --git a/container-search/pom.xml b/container-search/pom.xml
index 031d25c7d02..ccec1330d68 100644
--- a/container-search/pom.xml
+++ b/container-search/pom.xml
@@ -73,12 +73,6 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>com.yahoo.vespa</groupId>
- <artifactId>container-disc</artifactId>
- <version>${project.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<exclusions>
diff --git a/container-search/src/main/java/com/yahoo/search/handler/observability/SearchStatusExtension.java b/container-search/src/main/java/com/yahoo/search/handler/observability/SearchStatusExtension.java
deleted file mode 100644
index 836bb1b8354..00000000000
--- a/container-search/src/main/java/com/yahoo/search/handler/observability/SearchStatusExtension.java
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.search.handler.observability;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.yahoo.container.handler.observability.ApplicationStatusHandler;
-import com.yahoo.jdisc.handler.RequestHandler;
-import com.yahoo.search.handler.SearchHandler;
-import com.yahoo.search.searchchain.SearchChainRegistry;
-
-import java.util.Map;
-
-/**
- * @author bjorncs
- */
-public class SearchStatusExtension implements ApplicationStatusHandler.Extension {
-
- @Override
- public Map<String, ? extends JsonNode> produceExtraFields(ApplicationStatusHandler statusHandler) {
- return Map.of("searchChains", renderSearchChains(statusHandler));
- }
-
- private static JsonNode renderSearchChains(ApplicationStatusHandler statusHandler) {
- for (RequestHandler h : statusHandler.requestHandlers()) {
- if (h instanceof SearchHandler) {
- SearchChainRegistry scReg = ((SearchHandler) h).getSearchChainRegistry();
- return ApplicationStatusHandler.renderChains(scReg);
- }
- }
- return statusHandler.jsonMapper().createObjectNode();
- }
-
-}
diff --git a/container-search/src/main/java/com/yahoo/search/handler/observability/package-info.java b/container-search/src/main/java/com/yahoo/search/handler/observability/package-info.java
deleted file mode 100644
index baf24b4a94d..00000000000
--- a/container-search/src/main/java/com/yahoo/search/handler/observability/package-info.java
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-/**
- * @author bjorncs
- */
-@ExportPackage
-package com.yahoo.search.handler.observability;
-
-import com.yahoo.osgi.annotation.ExportPackage; \ No newline at end of file
diff --git a/docproc/pom.xml b/docproc/pom.xml
index d656559d5ec..e7d8d6e3a3e 100644
--- a/docproc/pom.xml
+++ b/docproc/pom.xml
@@ -48,12 +48,6 @@
</dependency>
<dependency>
<groupId>com.yahoo.vespa</groupId>
- <artifactId>container-disc</artifactId>
- <version>${project.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>com.yahoo.vespa</groupId>
<artifactId>container-messagebus</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
diff --git a/docproc/src/main/java/com/yahoo/docproc/jdisc/observability/DocprocsStatusExtension.java b/docproc/src/main/java/com/yahoo/docproc/jdisc/observability/DocprocsStatusExtension.java
deleted file mode 100644
index 15f6c3a5cd9..00000000000
--- a/docproc/src/main/java/com/yahoo/docproc/jdisc/observability/DocprocsStatusExtension.java
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.docproc.jdisc.observability;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.yahoo.component.provider.ComponentRegistry;
-import com.yahoo.container.handler.observability.ApplicationStatusHandler;
-import com.yahoo.docproc.Call;
-import com.yahoo.docproc.impl.DocprocService;
-import com.yahoo.docproc.jdisc.DocumentProcessingHandler;
-import com.yahoo.jdisc.handler.RequestHandler;
-
-import java.util.Iterator;
-import java.util.Map;
-
-
-/**
- * @author bjorncs
- */
-public class DocprocsStatusExtension implements ApplicationStatusHandler.Extension {
-
- @Override
- public Map<String, ? extends JsonNode> produceExtraFields(ApplicationStatusHandler statusHandler) {
- return Map.of("docprocChains", renderDocprocChains(statusHandler));
- }
-
- private static JsonNode renderDocprocChains(ApplicationStatusHandler statusHandler) {
- ObjectNode ret = statusHandler.jsonMapper().createObjectNode();
- for (RequestHandler h : statusHandler.requestHandlers()) {
- if (h instanceof DocumentProcessingHandler) {
- ComponentRegistry<DocprocService> registry = ((DocumentProcessingHandler) h).getDocprocServiceRegistry();
- for (DocprocService service : registry.allComponents()) {
- ret.set(service.getId().stringValue(), renderCalls(statusHandler, service.getCallStack().iterator()));
- }
- }
- }
- return ret;
- }
-
- private static JsonNode renderCalls(ApplicationStatusHandler statusHandler, Iterator<Call> components) {
- ArrayNode ret = statusHandler.jsonMapper().createArrayNode();
- while (components.hasNext()) {
- Call c = components.next();
- JsonNode jc = ApplicationStatusHandler.renderComponent(c.getDocumentProcessor(), c.getDocumentProcessor().getId());
- ret.add(jc);
- }
- return ret;
- }
-
-}
diff --git a/docproc/src/main/java/com/yahoo/docproc/jdisc/observability/package-info.java b/docproc/src/main/java/com/yahoo/docproc/jdisc/observability/package-info.java
deleted file mode 100644
index 0040acf1fdc..00000000000
--- a/docproc/src/main/java/com/yahoo/docproc/jdisc/observability/package-info.java
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-/**
- * @author bjorncs
- */
-@ExportPackage
-package com.yahoo.docproc.jdisc.observability;
-
-import com.yahoo.osgi.annotation.ExportPackage; \ No newline at end of file