perf-script-studio
perf-script-studio is perf-autocorrelator and perf-migrator merged into one binary. It takes a browser recording or a script you already have and gives you a runnable JMeter, k6 or Gatling test, with the values that change between runs extracted rather than replayed.
£99, one time. Every feature, all six conversion directions, perpetual licence. There are no tiers: the £59 Basic / £99 Pro split and the £79 single-direction / £149 bidirectional split are both withdrawn, and anyone holding any of those keys has everything at no extra charge.
Platforms: Linux x86_64, Windows x86_64, macOS universal (Apple Silicon and Intel in one binary).
The archive unpacks to a perf-script-studio-<version>/ directory holding one executable
plus small perf-migrator and perf-autocorrelator shims, so a pipeline calling either of
the names the merged products were sold under keeps working.
Licence
Section titled “Licence”perf-script-studio activate YOUR-LICENSE-KEY # validate once, remembered on this machineperf-script-studio status # which key is in use, and is it validperf-script-studio deactivate # forget it againA key can also be supplied per run, and these are checked first, in this order:
--license, PERF_SCRIPT_STUDIO_LICENSE, then licenses.perf_script_studio in
perf-ecosystem.yml. The older PERF_MIGRATOR_LICENSE and licenses.perf_migrator are
still honoured, so existing CI configuration keeps working.
Activating stores the key on that machine. It claims no device slot, so keeping several machines activated costs nothing.
Commands
Section titled “Commands”generate — a recording becomes a script
Section titled “generate — a recording becomes a script”perf-script-studio generate session.har --to jmeter -o load-test.jmxperf-script-studio generate session.har --to k6 -o load-test.jsperf-script-studio generate session.har --to gatling -o LoadTest.scalaCorrelation runs by default: values the server issued during the recording and that later
requests send back are extracted and referenced, instead of being replayed as the literal
they were on the day. --no-correlate turns that off. Static assets — images, CSS, fonts —
are filtered out unless you pass --keep-static, and the output reports how many of the
recording’s entries became requests.
correlate — what an existing script will need
Section titled “correlate — what an existing script will need”perf-script-studio correlate --from jmeter existing-test.jmxperf-script-studio correlate --from k6 script.js --jsonA script has no responses in it, so this cannot say where to extract a value from — only
that a hardcoded session id, CSRF token or JWT is sitting in a request and will be stale on
the next run. It names the request each one is in. To get wired-up extractors, record the
journey and use generate.
convert — between JMeter, k6 and Gatling
Section titled “convert — between JMeter, k6 and Gatling”perf-script-studio convert --from jmeter --to k6 test.jmx -o test.js
# or the shorthandsperf-script-studio jmx2k6 test.jmx -o test.jsperf-script-studio jmx2gatling test.jmx -o Test.scalaperf-script-studio k62jmx script.js -o test.jmxperf-script-studio k62gatling script.js -o Test.scalaperf-script-studio gatling2jmx Simulation.scala -o test.jmxperf-script-studio gatling2k6 Simulation.scala -o test.jsAll six directions are included. Anything that cannot be translated faithfully is reported as a warning naming what it costs — a While Controller’s loop, a JDBC sampler, an assertion scoped to a whole thread group — rather than dropped silently.
web — the same tool in a browser
Section titled “web — the same tool in a browser”perf-script-studio web # http://localhost:7070, opens your browserperf-script-studio web --port 8080 --no-openThe page is compiled into the binary, so there is nothing extra to install, and the server
binds to 127.0.0.1 only. Scripts and recordings are read in that process and never leave
the machine. It is the same interface as the free browser converter at
tools.martkos-it.co.uk, without the 25-request cap and
with correlation, batch analysis and JMX merge switched on.
update
Section titled “update”perf-script-studio update # download the latest releaseperf-script-studio update --check-onlyThe macOS build is a universal binary and is not signed with an Apple Developer ID, so macOS quarantines it on first run. Clear that once:
xattr -d com.apple.quarantine ./perf-script-studioFree browser version
Section titled “Free browser version”tools.martkos-it.co.uk converts scripts and recordings in the browser, free, up to 25 HTTP requests — enough for a single user journey. It runs entirely in the tab and does not correlate: the pattern library is what the paid product is worth, and a public WebAssembly module can be disassembled.
Buy perf-script-studio · £99 one time