public List loadLongRunningTestsSummary()

in tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/chain/BuildChainProcessor.java [91:140]


    public List<LrTestsSuiteSummaryUi> loadLongRunningTestsSummary(
        ITeamcityIgnited teamcityIgnited,
        Collection<Integer> entryPoints
    ) {
        final List<LrTestsSuiteSummaryUi> res = new ArrayList<>();

        SyncMode mode = SyncMode.RELOAD_QUEUED;

        if (entryPoints.isEmpty())
            return res;

        Map<Integer, Future<FatBuildCompacted>> builds = loadAllBuildsInChains(entryPoints, mode, teamcityIgnited);

        builds.values().stream().map(FutureUtil::getResult)
            .filter(b -> !b.isComposite() && b.getTestsCount() > 0)
            .forEach(b ->
            {
                List<LrTestUi> lrTests = new ArrayList<>();

                b.getAllTests()
                    .filter(t -> {
                        Integer duration = t.getDuration();

                        return duration !=null && duration > 60 * 1000;
                    })
                    .forEach(
                        t -> lrTests
                            .add(new LrTestUi(t.testName(compactor), t.getDuration(), null))
                    );

                if (!lrTests.isEmpty()) {
                    lrTests.sort((test0, test1) -> {
                        long t0 = test0.time;
                        long t1 = test1.time;

                        return Long.compare(t1, t0);

                    });

                    res.add(
                        new LrTestsSuiteSummaryUi(b.buildTypeName(compactor),
                            b.buildDuration(compactor) / b.getTestsCount(),
                            lrTests));
                }
            });

        res.sort((s0, s1) -> Long.compare(s1.testAvgTime, s0.testAvgTime));

        return res;
    }