public Collection afterIteration()

in optaplanner-benchmarks/optaplanner-perf-framework/src/main/java/org/jboss/qa/brms/performance/profiler/MemoryConsumptionProfiler.java [47:72]


    public Collection<? extends Result> afterIteration(BenchmarkParams benchmarkParams,
                                                       IterationParams iterationParams,
                                                       IterationResult result) {
        if (!proceedWithMetrics.get()) {
            return Collections.EMPTY_LIST;
        }

        final UsedMemory usedMemory;
        try {
            usedMemory = getUsedMemoryAfterSettling();
        } catch (IllegalStateException ex) {
            logger.error("{0} deactivated due to error during metrics recording.", getClass().getSimpleName(), ex);
            return Collections.EMPTY_LIST;
        }
        final List<Result> results = new ArrayList<>();
        final double usedHeap = bytesToKB(usedMemory.usedHeapMemory);
        final double usedNonHeap = bytesToKB(usedMemory.usedNonHeapMemory);
        final double total = bytesToKB(usedMemory.totalCommittedMemory);
        final double metaSpace = bytesToKB(usedMemory.metaSpaceMemory);
        results.add(new ScalarResult("mem.used.heap", usedHeap, "kB", AggregationPolicy.AVG));
        results.add(new ScalarResult("mem.used.nonheap", usedNonHeap, "kB", AggregationPolicy.AVG));
        results.add(new ScalarResult("mem.total", total, "kB", AggregationPolicy.AVG));
        results.add(new ScalarResult("mem.used.metaspace", metaSpace, "kB", AggregationPolicy.AVG));

        return results;
    }