Class Benchmark

  • All Implemented Interfaces:
    java.io.Serializable

    public class Benchmark
    extends java.lang.Object
    implements java.io.Serializable
    A benchmark is a collection of simulation, user, SLA and scaling strategy (Ramp up, Steady State, Ramp Down, steady state variance) that are to be run against the target environment.
    See Also:
    Serialized Form
    • Constructor Detail

      • Benchmark

        public Benchmark​(java.lang.String name,
                         java.lang.String originalSource,
                         java.util.Map<java.lang.String,​byte[]> files,
                         Agent[] agents,
                         int defaultThreads,
                         java.util.Map<java.lang.Class<? extends PluginConfig>,​PluginConfig> plugins,
                         java.util.Collection<Phase> phases,
                         java.util.Map<java.lang.String,​java.lang.Object> tags,
                         long statisticsCollectionPeriod,
                         java.lang.String triggerUrl,
                         java.util.List<RunHook> preHooks,
                         java.util.List<RunHook> postHooks,
                         Benchmark.FailurePolicy failurePolicy)
    • Method Detail

      • forTesting

        public static Benchmark forTesting()
      • empty

        public static Benchmark empty​(java.lang.String name)
      • name

        public java.lang.String name()
      • version

        public java.lang.String version()
      • agents

        public Agent[] agents()
      • source

        public java.lang.String source()
        As the transformation from YAML is one-way (due to forks and iterations) here we store the original source (be it YAML or JSON)
        Returns:
        Source YAML for the benchmark.
      • files

        public java.util.Map<java.lang.String,​byte[]> files()
      • defaultThreads

        public int defaultThreads()
      • phases

        public java.util.Collection<Phase> phases()
      • tags

        public java.util.Map<java.lang.String,​java.lang.Object> tags()
      • statisticsCollectionPeriod

        public long statisticsCollectionPeriod()
      • triggerUrl

        public java.lang.String triggerUrl()
      • preHooks

        public java.util.List<RunHook> preHooks()
      • postHooks

        public java.util.List<RunHook> postHooks()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • steps

        public java.util.stream.Stream<Step> steps()
      • phasesById

        public Phase[] phasesById()
      • slice

        public int slice​(int totalValue,
                         int agentId)
      • slice

        public double slice​(double totalValue,
                            int agentId)
      • threads

        public int threads​(int agentId)
      • totalThreads

        public int totalThreads()
      • plugin

        public <T extends PluginConfig> T plugin​(java.lang.Class<T> clazz)
      • plugins

        public java.util.Collection<PluginConfig> plugins()