class DtpEndpoint {

    @ReadOperation
    public List<Metrics> invoke() {<FILL_FUNCTION_BODY>}
}


        List<Metrics> metricsList = Lists.newArrayList();
        DtpRegistry.getAllExecutorNames().forEach(x -> {
            ExecutorWrapper wrapper = DtpRegistry.getExecutorWrapper(x);
            metricsList.add(ExecutorConverter.toMetrics(wrapper));
        });

        val handlerMap = ApplicationContextHolder.getBeansOfType(MetricsAware.class);
        if (MapUtils.isNotEmpty(handlerMap)) {
            handlerMap.forEach((k, v) -> metricsList.addAll(v.getMultiPoolStats()));
        }
        JvmStats jvmStats = new JvmStats();
        Runtime runtime = Runtime.getRuntime();
        jvmStats.setMaxMemory(FileUtil.readableFileSize(runtime.maxMemory()));
        jvmStats.setTotalMemory(FileUtil.readableFileSize(runtime.totalMemory()));
        jvmStats.setFreeMemory(FileUtil.readableFileSize(runtime.freeMemory()));
        jvmStats.setUsableMemory(FileUtil.readableFileSize(runtime.maxMemory() - runtime.totalMemory() + runtime.freeMemory()));
        metricsList.add(jvmStats);
        return metricsList;
    
<no_super_class>