diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-06-29 17:58:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-29 17:58:35 +0200 |
commit | 63d415951811b71dc94dec840673160f76e1a0a0 (patch) | |
tree | 80742fcbfd87516a8f81902519b6bf036ff36902 | |
parent | 2edc796a4aae38fb6d468a69600da9ba07254fa5 (diff) | |
parent | 02a376fea1b1f11e45fdabfde8e96cebe3b83316 (diff) |
Merge pull request #23280 from vespa-engine/revert-23273-bjorncs/application-status-handlerv8.11.15
Revert "Bjorncs/application status handler"
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 |