@@ -9,7 +9,7 @@ Nighthawk currently offers:
9
9
- A load testing client which supports HTTP/1.1 and HTTP/2 over HTTP and HTTPS.
10
10
(HTTPS certificates are not yet validated).
11
11
- A simple [ test server] ( source/server/README.md ) which is capable of generating dynamic response sizes, as well as inject delays.
12
-
12
+ - A binary to transform nighthawk output to well-known formats, allowing integration with other systems and dashboards.
13
13
14
14
## Prerequisites
15
15
@@ -55,12 +55,13 @@ bazel-bin/nighthawk_client [--trace <uri format>]
55
55
|CONNECT|OPTIONS|TRACE>] [--address-family
56
56
<auto|v4|v6>] [--burst-size <uint32_t>]
57
57
[--prefetch-connections] [--output-format
58
- <json|human|yaml|dotted>] [-v <trace|debug
59
- |info|warn|error|critical>] [--concurrency
60
- <string>] [--h2] [--timeout <uint32_t>]
61
- [--duration <uint32_t>] [--connections
62
- <uint32_t>] [--rps <uint32_t>] [--]
63
- [--version] [-h] <uri format>
58
+ <json|human|yaml|dotted|fortio>] [-v <trace
59
+ |debug|info|warn|error|critical>]
60
+ [--concurrency <string>] [--h2] [--timeout
61
+ <uint32_t>] [--duration <uint32_t>]
62
+ [--connections <uint32_t>] [--rps
63
+ <uint32_t>] [--] [--version] [-h] <uri
64
+ format>
64
65
65
66
66
67
Where:
@@ -111,9 +112,9 @@ Release requests in bursts of the specified size (default: 0).
111
112
--prefetch-connections
112
113
Prefetch connections before benchmarking (HTTP/1 only).
113
114
114
- --output-format <json|human|yaml|dotted>
115
- Output format. Possible values: {"json", "human", "yaml", "dotted"}.
116
- The default output format is 'human'.
115
+ --output-format <json|human|yaml|dotted|fortio >
116
+ Output format. Possible values: {"json", "human", "yaml", "dotted",
117
+ "fortio"}. The default output format is 'human'.
117
118
118
119
-v <trace|debug|info|warn|error|critical>, --verbosity <trace|debug
119
120
|info|warn|error|critical>
@@ -208,14 +209,15 @@ Nighthawk comes with a tool to transform its json output to its other supported
208
209
USAGE:
209
210
210
211
bazel-bin/nighthawk_output_transform --output-format <json|human|yaml
211
- |dotted> [--] [--version] [-h]
212
+ |dotted|fortio> [--] [--version]
213
+ [-h]
212
214
213
215
214
216
Where:
215
217
216
- --output-format <json|human|yaml|dotted>
218
+ --output-format <json|human|yaml|dotted|fortio >
217
219
(required) Output format. Possible values: {"json", "human", "yaml",
218
- "dotted"}.
220
+ "dotted", "fortio" }.
219
221
220
222
--, --ignore_rest
221
223
Ignores the rest of the labeled arguments following this flag.
@@ -305,6 +307,21 @@ client.upstream_rq_total 9994 1998.80
305
307
[21:28:18.522403][27849][I] [source/client/client.cc:279] Done.
306
308
```
307
309
310
+ ## Visualizing the output of a benchmark
311
+
312
+ Nighthawk supports transforming the output into other well-known formats, such as:
313
+
314
+ - ` dotted ` : Provides integration with Prometheus
315
+ - ` fortio ` : Provides integration with [ Fortio's report-only UI] ( https://github.com/fortio/fortio#report-only-ui )
316
+
317
+ The following is an example of a nighthawk benchmark visualized via the Fortio UI.
318
+
319
+ ``` bash
320
+ fortio report --data-dir ./samples/fortio_data
321
+ ```
322
+
323
+ ![ Fortio Large Report] ( ./samples/fortio_reports/large.png )
324
+
308
325
## Accuracy and repeatability considerations when using the Nighthawk client
309
326
310
327
- Processes not related to the benchmarking task at hand may add significant noise. Consider stopping any
0 commit comments