@perfscale/exe 0.10.0 → 0.12.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.
- package/man/perfscale.1 +44 -10
- 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-
|
|
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
|
|
25
|
-
own native step engine driven by YAML test definitions.
|
|
26
|
-
emit a k6-compatible metric summary, so downstream tooling (CI
|
|
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.
|
|
4
|
+
"version": "0.12.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.
|
|
29
|
-
"@perfscale/linux-arm64": "0.
|
|
30
|
-
"@perfscale/darwin-x64": "0.
|
|
31
|
-
"@perfscale/darwin-arm64": "0.
|
|
32
|
-
"@perfscale/win32-x64": "0.
|
|
33
|
-
"@perfscale/win32-arm64": "0.
|
|
28
|
+
"@perfscale/linux-x64": "0.12.0",
|
|
29
|
+
"@perfscale/linux-arm64": "0.12.0",
|
|
30
|
+
"@perfscale/darwin-x64": "0.12.0",
|
|
31
|
+
"@perfscale/darwin-arm64": "0.12.0",
|
|
32
|
+
"@perfscale/win32-x64": "0.12.0",
|
|
33
|
+
"@perfscale/win32-arm64": "0.12.0"
|
|
34
34
|
}
|
|
35
35
|
}
|