Package jenkins.benchmark.jmh
Class JmhBenchmarkState
java.lang.Object
jenkins.benchmark.jmh.JmhBenchmarkState
- All Implemented Interfaces:
hudson.ExtensionPoint,hudson.model.Action,hudson.model.ModelObject,hudson.model.RootAction
Standard benchmark
State for JMH when a Jenkins instance is required.
To use a Jenkins instance in your benchmark, your class containing benchmarks should have a public static inner
class that extends this class and should be annotated with JmhBenchmark to allow it to be automatically
discovered by BenchmarkFinder. To configure the instance, use setup().
- Since:
- 2.50
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
hudson.ExtensionPoint.LegacyInstancesAreScopedToHudson -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionjenkins.model.JenkinsGet reference to theJenkinsstarted for the benchmark.voidsetup()Override to setup resources required for the benchmark.final voidSets up the temporary Jenkins instance for benchmarks.voidtearDown()Override to perform cleanup of resource initialized during setup.final voidTerminates the jenkins instance after the benchmark has completed its execution.
-
Constructor Details
-
JmhBenchmarkState
public JmhBenchmarkState()
-
-
Method Details
-
setupJenkins
Sets up the temporary Jenkins instance for benchmarks.One Jenkins instance is created for each fork of the benchmark.
- Throws:
Exception- if unable to start the instance.
-
terminateJenkins
public final void terminateJenkins()Terminates the jenkins instance after the benchmark has completed its execution. Run once for each Jenkins that was started. -
getJenkins
public jenkins.model.Jenkins getJenkins()Get reference to theJenkinsstarted for the benchmark.The instance can also be obtained using
Jenkins.getInstanceOrNull()- Returns:
- the Jenkins instance started for the benchmark.
-
setup
Override to setup resources required for the benchmark.Runs before the benchmarks are run. At this state, the Jenkins instance is ready to be worked upon and is available using
getJenkins(). Does nothing by default.- Throws:
Exception
-
tearDown
public void tearDown()Override to perform cleanup of resource initialized during setup.Run before the Jenkins instance is terminated. Does nothing by default.
-
getIconFileName
- Specified by:
getIconFileNamein interfacehudson.model.Action
-
getDisplayName
- Specified by:
getDisplayNamein interfacehudson.model.Action- Specified by:
getDisplayNamein interfacehudson.model.ModelObject
-
getUrlName
- Specified by:
getUrlNamein interfacehudson.model.Action
-