@perfscale/exe 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/man/perfscale.1 +44 -10
  2. package/package.json +7 -7
package/man/perfscale.1 CHANGED
@@ -1,7 +1,7 @@
1
1
  .\" perfscale(1) manual page
2
- .TH PERFSCALE 1 "2026-07-28" "perfscale 0.7" "User Commands"
2
+ .TH PERFSCALE 1 "2026-08-19" "perfscale 0.10" "User Commands"
3
3
  .SH NAME
4
- perfscale \- run k6, locust, or native load tests from one CLI
4
+ perfscale \- run k6, locust, JMeter, or native load tests from one CLI
5
5
  .SH SYNOPSIS
6
6
  .B perfscale
7
7
  .RI < COMMAND >
@@ -16,15 +16,19 @@ perfscale \- run k6, locust, or native load tests from one CLI
16
16
  .RI [ OPTIONS ]
17
17
  .br
18
18
  .B perfscale run
19
+ .BI \-\-jmeter " FILE.jmx"
20
+ .RI [ OPTIONS ]
21
+ .br
22
+ .B perfscale run
19
23
  .BI \-f " TEST.yaml"
20
24
  .BI \-c " CONFIG.yaml"
21
25
  .RI [ OPTIONS ]
22
26
  .SH DESCRIPTION
23
27
  .B perfscale
24
- is a load-testing CLI that runs existing k6 scripts and locustfiles, or its
25
- own native step engine driven by YAML test definitions. All three engines
26
- emit a k6-compatible metric summary, so downstream tooling (CI reporters,
27
- dashboards,
28
+ is a load-testing CLI that runs existing k6 scripts, locustfiles, and JMeter
29
+ test plans, or its own native step engine driven by YAML test definitions.
30
+ All engines emit a k6-compatible metric summary, so downstream tooling (CI
31
+ reporters, dashboards,
28
32
  .BR \-\-summary\-export )
29
33
  parses one format regardless of the engine that produced it.
30
34
  .SH COMMANDS
@@ -33,6 +37,7 @@ parses one format regardless of the engine that produced it.
33
37
  Run a load test. Exactly one engine selector is required:
34
38
  .BR \-\-k6 ,
35
39
  .BR \-\-locust ,
40
+ .BR \-\-jmeter ,
36
41
  or
37
42
  .BR \-f /
38
43
  .BR \-c
@@ -46,11 +51,14 @@ Start a local dev server that receives metric summaries from
46
51
  and prints them. Endpoints:
47
52
  .B GET /health
48
53
  (liveness, returns
49
- .IR ok )
50
- and
54
+ .IR ok ),
51
55
  .B POST /api/v1/metrics
52
56
  (accepts
53
- .IR {"lines": ["..."]} ).
57
+ .IR {"lines": ["..."]} ),
58
+ and
59
+ .B GET /ws
60
+ (WebSocket echo — every message is echoed back; a loopback target for
61
+ WebSocket load tests).
54
62
  .TP
55
63
  .B lint
56
64
  Validate test/config YAML files without running them: JSON-Schema checks,
@@ -97,6 +105,7 @@ reinstalls even when up to date.
97
105
  Exactly one of
98
106
  .BR \-\-k6 ,
99
107
  .BR \-\-locust ,
108
+ .BR \-\-jmeter ,
100
109
  .BR \-f
101
110
  selects the engine.
102
111
  .TP
@@ -114,6 +123,18 @@ on PATH; combine with
114
123
  and
115
124
  .BR \-c ).
116
125
  .TP
126
+ .BI \-\-jmeter " FILE.jmx"
127
+ Run a JMeter test plan headless via
128
+ .B "jmeter \-n \-t"
129
+ (requires
130
+ .B jmeter
131
+ on PATH and a JRE). The plan owns the load shape — no perfscale config
132
+ applies. After the run, jmeter's final console
133
+ .B summary =
134
+ line is translated into the k6-compatible summary (avg/min/max and error
135
+ rate only — the console summary carries no percentiles). JMeter's exit code
136
+ is the CI gate; there is no thresholds integration.
137
+ .TP
117
138
  .BI \-f ", " \-\-file " TEST.yaml"
118
139
  Run a native perfscale test definition (YAML with a
119
140
  .B steps:
@@ -124,6 +145,9 @@ list). Requires
124
145
  Load config:
125
146
  .BR vus ,
126
147
  .BR duration ,
148
+ optional k6-style load profiles
149
+ .BR stages: " (ramping VUs) and"
150
+ .BR arrival: " (arrival-rate; native engine only),"
127
151
  optional
128
152
  .BR report.url ,
129
153
  .BR before: / after:
@@ -134,7 +158,9 @@ Required with
134
158
  optional load hint for
135
159
  .BR \-\-locust ;
136
160
  ignored by
137
- .BR \-\-k6 .
161
+ .BR \-\-k6
162
+ and
163
+ .BR \-\-jmeter .
138
164
  .TP
139
165
  .BI \-\-host " URL"
140
166
  Target base URL for
@@ -242,6 +268,14 @@ perfscale run --locust locustfile.py --host https://target.example.com -c load.y
242
268
  .RE
243
269
  .fi
244
270
  .PP
271
+ Run a JMeter test plan headless:
272
+ .PP
273
+ .nf
274
+ .RS
275
+ perfscale run --jmeter plan.jmx
276
+ .RE
277
+ .fi
278
+ .PP
245
279
  Run a native YAML test and export a Markdown summary for CI:
246
280
  .PP
247
281
  .nf
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@perfscale/exe",
3
3
  "description": "perfscale — load testing CLI (k6, Locust, and a native engine) as a standalone binary, installed via npm.",
4
- "version": "0.10.0",
4
+ "version": "0.11.0",
5
5
  "license": "MIT OR Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -25,11 +25,11 @@
25
25
  "man/perfscale.1"
26
26
  ],
27
27
  "optionalDependencies": {
28
- "@perfscale/linux-x64": "0.10.0",
29
- "@perfscale/linux-arm64": "0.10.0",
30
- "@perfscale/darwin-x64": "0.10.0",
31
- "@perfscale/darwin-arm64": "0.10.0",
32
- "@perfscale/win32-x64": "0.10.0",
33
- "@perfscale/win32-arm64": "0.10.0"
28
+ "@perfscale/linux-x64": "0.11.0",
29
+ "@perfscale/linux-arm64": "0.11.0",
30
+ "@perfscale/darwin-x64": "0.11.0",
31
+ "@perfscale/darwin-arm64": "0.11.0",
32
+ "@perfscale/win32-x64": "0.11.0",
33
+ "@perfscale/win32-arm64": "0.11.0"
34
34
  }
35
35
  }