github abstracta/jmeter-java-dsl v1.14
1.14

latest releases: v1.29, v1.28.1, v1.28...
14 months ago

All lambdas execution performance are now improved and also an option for running custom Java code in BlazeMeter is provided!

Performance Comparison Details image image

Charts show total test plan execution time in milliseconds for the given number of threads and iterations.

For the biggest test (500 threads and 10k iterations each) we got at last test 34x less time difference for post processors from base test comparing 1.14 to 1.13, and 20x for conditions.

Tests were ran in MacBook Pro, 2.6GHz 6-Core Intel Core i7, 16GB, OpenJDK 1.8.0_352.

Post Processor Tests

Base

testPlan(
  threadGroup(threads, iterations,
    dummySampler("OK")
  )
)

Groovy

testPlan(
  threadGroup(threads, iterations,
    dummySampler("OK"),
    jsr223PostProcessor("vars.putObject(\"TEST\", 1 + 1)")
  )
)

Jexl

testPlan(
  threadGroup(threads, iterations,
    dummySampler("OK"),
    jsr223PostProcessor("vars.putObject(\"TEST\", 1 + 1)")
      .language("jexl")
  )
)

Lambda 1.13 & 1.14

testPlan(
  threadGroup(threads, iterations,
    dummySampler("OK"),
    jsr223PostProcessor(s -> s.vars.putObject("TEST", 1 + 1))
  )
)

Condition Tests

Base

testPlan(
  threadGroup(threads, iterations,
    dummySampler("OK")
  )
)

Constant

testPlan(
  threadGroup(threads, iterations,
    ifController("true",
      dummySampler("OK")
    )
  )
)

Groovy

testPlan(
  threadGroup(threads, iterations,
    ifController("${__groovy(vars.get('test')==null)}",
      dummySampler("OK")
    )
  )
)

Jexl

testPlan(
  threadGroup(threads, iterations,
    ifController("${__jexl2(vars.get('test')==null)}",
      dummySampler("OK")
    )
  )
)

Lambda 1.13 & 14

testPlan(
  threadGroup(threads, iterations,
    ifController(s -> s.vars.get("test")==null,
      dummySampler("OK")
    )
  )
)

And here is a new user guide section with instructions to run lambda tests with BlazeMeterEngine and standalone JMeter.

Thanks to radek (from discord channel) and @polarnik for pointing out the performance penalties Java lambdas had and @cspriya for asking about running java code in BlazeMeter.

Additionally, thanks to @mikeliucc for pointing out a typo that we fixed in this release.

Don't miss a new jmeter-java-dsl release

NewReleases is sending notifications on new releases.