@SneakyThrows
    @Get("/debugging/query/topology/getServicesTopology")
    public String getServicesTopology(@Param("startTime") String startTime,
                                      @Param("endTime") String endTime,
                                      @Param("step") String step,
                                      @Param("coldStage") Optional<Boolean> coldStage,
                                      @Param("serviceLayer") String serviceLayer,
                                      @Param("services") String services) {
        Duration duration = new Duration();
        duration.setStart(startTime);
        duration.setEnd(endTime);
        duration.setStep(Step.valueOf(step));
        coldStage.ifPresent(duration::setColdStage);
        List<String> ids = Arrays.stream(services.split(Const.COMMA))
                                 .map(name -> IDManager.ServiceID.buildId(name, Layer.nameOf(serviceLayer).isNormal()))
                                 .collect(Collectors.toList());
        Topology topology = topologyQuery.getServicesTopology(ids, duration, true).join();
        DebuggingQueryServiceTopologyRsp result = new DebuggingQueryServiceTopologyRsp(
            topology.getNodes(), topology.getCalls(), transformTrace(topology.getDebuggingTrace()));
        return transToYAMLString(result);
    }
Only for BanyanDB, can be used to query the trace in the cold stage.
oap-server/server-query-plugin/status-query-plugin/src/main/java/org/apache/skywalking/oap/query/debug/DebuggingHTTPHandler.java