envoyproxy / nighthawk

L7 (HTTP/HTTPS/HTTP2/HTTP3) performance characterization tool
Apache License 2.0
361 stars 81 forks source link

add a troubleshooting mode #643

Open eric846 opened 3 years ago

eric846 commented 3 years ago

What if Nighthawk had a mode where it tried to send only a handful of requests to the target and dumped the full output?

This would also be an opportunity to dump the full request:

If you couldn't connect to the target, there are multiple possibilities that could be cleared up by a detailed printout. If you are getting 4xx or 5xx errors, sometimes it's interesting to look at the response headers.

Also, in some environments, a Nighthawk service is actually the only tool that has connectivity to the system under test, so this could also be used as a heavy duty ping tool while troubleshooting a testbench. To accomplish this, I have sometimes resorted to running 10 qps for 5 seconds, but the only feedback I have to work with is counters.

oschaaf commented 3 years ago

I can feel you here, from the experience of debugging some sni related stuff; A bit more holistic / less targeted, if we could somehow get a hold of NHs logs from a remote instance then it could help too; in local runs the logs may often show what you need (but perhaps not always, you won’t get to see a full response body for example), but a remote service has no way to propagate it back.