diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-06-28 15:11:46 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-06-28 15:52:33 +0200 |
commit | ea43c079fd365c2fdbf91bedf8412a903fecca9e (patch) | |
tree | 105cf3f5a25a011db3f2c3798b8644139324e50d /container-search/src/main/java/com/yahoo/search/handler/observability | |
parent | 878cc49535f5ff9fe6220e31ef0afb9481c21710 (diff) |
Move ApplicationStatusHandler to container-disc
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/handler/observability')
2 files changed, 41 insertions, 0 deletions
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 new file mode 100644 index 00000000000..aba2f9cd689 --- /dev/null +++ b/container-search/src/main/java/com/yahoo/search/handler/observability/SearchStatusExtension.java @@ -0,0 +1,33 @@ +// 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.Container; +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 handler) { + return Map.of("searchChains", renderSearchChains(Container.get())); + } + + private static JsonNode renderSearchChains(Container container) { + for (RequestHandler h : container.getRequestHandlerRegistry().allComponents()) { + if (h instanceof SearchHandler) { + SearchChainRegistry scReg = ((SearchHandler) h).getSearchChainRegistry(); + return ApplicationStatusHandler.StatusResponse.renderChains(scReg); + } + } + return ApplicationStatusHandler.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 new file mode 100644 index 00000000000..baf24b4a94d --- /dev/null +++ b/container-search/src/main/java/com/yahoo/search/handler/observability/package-info.java @@ -0,0 +1,8 @@ +// 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 |