JsonNode render() {
        ObjectNode root = jsonMapper.createObjectNode();

        root.set("application", applicationJson);
        root.set("abstractComponents",
                renderAbstractComponents(components()));

        root.set("handlers", renderRequestHandlers(bindingsConfig, requestHandlersById()));
        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);
            });

        }
        return root;
    }
Handler that outputs meta-info about the deployed Vespa application, and status of components and chains.

@author gjoranv
@author Einar M R Rosenvinge
@author bjorncs
container-disc/src/main/java/com/yahoo/container/handler/observability/ApplicationStatusHandler.java