Class AsyncProfiler

    • Field Detail

      • verbose

        private final boolean verbose
      • profilerConfig

        private final java.lang.String profilerConfig
      • outputFilePrefix

        private final java.lang.String outputFilePrefix
      • outDir

        private final java.io.File outDir
      • trialOutDir

        private java.io.File trialOutDir
      • traces

        private final int traces
      • flat

        private final int flat
      • isVersion1x

        private boolean isVersion1x
      • warmupStarted

        private boolean warmupStarted
      • measurementStarted

        private boolean measurementStarted
      • measurementIterationCount

        private int measurementIterationCount
      • generated

        private final java.util.LinkedHashSet<java.io.File> generated
    • Method Detail

      • beforeIteration

        public void beforeIteration​(BenchmarkParams benchmarkParams,
                                    IterationParams iterationParams)
        Description copied from interface: InternalProfiler
        Run this code before starting the next benchmark iteration.
        Specified by:
        beforeIteration in interface InternalProfiler
        Parameters:
        benchmarkParams - benchmark parameters used for current launch
        iterationParams - iteration parameters used for current launch
      • start

        private void start()
      • afterIteration

        public java.util.Collection<? extends Result> afterIteration​(BenchmarkParams benchmarkParams,
                                                                     IterationParams iterationParams,
                                                                     IterationResult iterationResult)
        Description copied from interface: InternalProfiler
        Run this code after a benchmark iteration finished
        Specified by:
        afterIteration in interface InternalProfiler
        Parameters:
        benchmarkParams - benchmark parameters used for current launch
        iterationParams - iteration parameters used for current launch
        iterationResult - iteration result
        Returns:
        profiler results
      • createTrialOutDir

        private void createTrialOutDir​(BenchmarkParams benchmarkParams)
      • dump

        private void dump​(java.io.File target,
                          java.lang.String command)
      • outputFile

        private java.io.File outputFile​(java.lang.String fileNameFormat)
      • execute

        private java.lang.String execute​(java.lang.String command)
      • addJVMInvokeOptions

        public java.util.Collection<java.lang.String> addJVMInvokeOptions​(BenchmarkParams params)
        Description copied from interface: ExternalProfiler
        Prepend JVM invocation with these commands.
        Specified by:
        addJVMInvokeOptions in interface ExternalProfiler
        Parameters:
        params - benchmark parameters used for current launch
        Returns:
        commands to prepend for JVM launch
      • addJVMOptions

        public java.util.Collection<java.lang.String> addJVMOptions​(BenchmarkParams params)
        Description copied from interface: ExternalProfiler
        Add JVM these options to the run.
        Specified by:
        addJVMOptions in interface ExternalProfiler
        Parameters:
        params - benchmark parameters used for current launch
        Returns:
        options to add to JVM launch
      • beforeTrial

        public void beforeTrial​(BenchmarkParams benchmarkParams)
        Description copied from interface: ExternalProfiler
        Run this code before starting the trial. This method will execute before starting the benchmark JVM.
        Specified by:
        beforeTrial in interface ExternalProfiler
        Parameters:
        benchmarkParams - benchmark parameters used for current launch
      • afterTrial

        public java.util.Collection<? extends Result> afterTrial​(BenchmarkResult br,
                                                                 long pid,
                                                                 java.io.File stdOut,
                                                                 java.io.File stdErr)
        Description copied from interface: ExternalProfiler
        Run this code after the trial is done. This method will execute after benchmark JVM had stopped.
        Specified by:
        afterTrial in interface ExternalProfiler
        Parameters:
        br - benchmark result that was the result of the trial
        pid - pid that the forked JVM had
        stdOut - file containing the standard output from the benchmark JVM
        stdErr - file containing the standard error from the benchmark JVM
        Returns:
        profiler results
      • allowPrintOut

        public boolean allowPrintOut()
        Description copied from interface: ExternalProfiler
        If target VM communicates with profiler with standard output, this method can be used to shun the output to console. Profiler is responsible for consuming the standard output and printing the relevant data from there.
        Specified by:
        allowPrintOut in interface ExternalProfiler
        Returns:
        returns true, if profiler allows harness to print out the standard output
      • allowPrintErr

        public boolean allowPrintErr()
        Description copied from interface: ExternalProfiler
        If target VM communicates with profiler with standard error, this method can be used to shun the output to console. Profiler is responsible for consuming the standard error and printing the relevant data from there.
        Specified by:
        allowPrintErr in interface ExternalProfiler
        Returns:
        returns true, if profiler allows harness to print out the standard errpr
      • getDescription

        public java.lang.String getDescription()
        Description copied from interface: Profiler
        Human-readable one-line description of the profiler.
        Specified by:
        getDescription in interface Profiler
        Returns:
        description