six-ddc / plow Goto Github PK
View Code? Open in Web Editor NEWA high-performance HTTP benchmarking tool that includes a real-time web UI and terminal display
License: Apache License 2.0
A high-performance HTTP benchmarking tool that includes a real-time web UI and terminal display
License: Apache License 2.0
Histogram ranges seem to be of unequal length, and it is unclear what the value associated with a range represents:
Since ranges seem to be of unequal and therefore unknown length, it is impossible to exactly recover both ends of each range, even under the assumption that the numbers represent range midpoints.
Thanks for your hard work on this but seeking advice about what I believe may be a bug in Windows build version 1.1
Inputting a JSON file into the --body switch fails to copy the contents of the file into the request body of the HTTP command generated by plow
Sample JSON file as follows: (line-endings all in LF format)
{
"test": {
"test_id": "100",
"account_id": "2176db06-dc03-4f21-8de4-de38df531c53",
"funds_balance": "1",
"funds_withheld": "1",
"funds_escrow": "1",
"currency": "thb"
}
}
Expected that these contents will go into the request body of the generated command created by this:
plow http://localhost:4000/api/ -c 1 -n 1 --body @post.json --stream -T 'application/json' -m POST -H "Content-Length:262; Host:localhost:4000"
or this:
plow http://localhost:4000/api/ -c 1 -n 1 --body @post.json --stream -T 'application/json' -m POST
Many thanks. A sample JSON document would be so useful so I can confirm that my JSON document is formatted correctly.
Is the project dead?
Hey, not a big deal but binaries downloaded from tag v1.3.0 report they are 1.2.0 with --version
:
$ tar xf plow_1.3.0_darwin_amd64.tar.gz
$ ./plow --version
1.2.0
This might confuse some Ansible playbooks which use the stdout version to determine if a new binary needs to be downloaded.
I would suggest to set method to POST
when no method is stated explicitly but --body
is used.
Just as a minor quality-of-life improvement.
Would be willing to open a PR for that.
Hi, I really like the tool!
I'm just not sure if there's a way to send cookies in the requests?
Thanks!
when i run go get -u github.com/six-ddc/plow,i got
build github.com/six-ddc/plow: cannot load github.com/nicksnyder/go-i18n/i18n: cannot find module providing package github.com/nicksnyder/go-i18n/i18n
so i watch https://github.com/nicksnyder/go-i18n/, the pkg catalogue is changed. So
github.com/nicksnyder/go-i18n/i18n
changed
v2/github.com/nicksnyder/go-i18n/i18n
I would like to write user journey scripts that would include virtual users. Would this be possible as a library? And by the way this is very good work.
Hello!
Would be nice if you added the ability to test the routes protected by basic auth.
Some of my use cases require this thing, and I have to use ab as a fallback, which is something I don't really want...
Can the final report be exported to CSV/JSON with the snapshot information
Hello,
is there a way to send multipart/form-data with Post request using this tool?
Why do you need to upgrade to
Hi there, thanks for your amazing work!
I recently found that plow doesn't seem to be able to resolve localhost
to IPv6 address if IPv4 failed.
I have an endpoint that only allows IPv6 access:
$ curl -v http://localhost:8080/api/endpoint
* Trying 127.0.0.1:8080...
* connect to 127.0.0.1 port 8080 failed: Connection refused
* Trying [::1]:8080...
* Connected to localhost (::1) port 8080 (#0)
> GET /api/endpoint
> Host: localhost:8080
> User-Agent: curl/8.1.2
> Accept: */*
>
< HTTP/1.1 200 OK
< Access-Control-Allow-Origin: *
< content-type: application/json
< content-length: 10
< connection: close
< date: Tue, 07 Nov 2023 12:00:00 GMT
< cache-control: no-store
< vary: Cookie
<
{"data": 1}
If I use plow
, it drops the requests when it doesn't manage to connect to the IPv4 address 127.0.0.1
:
$ plow -n 10 http://localhost:8080/api/endpoint
Benchmarking http://localhost:8080/api/endpoint with 10 request(s) using 1 connection(s).
@ Real-time charts is listening on http://[::]:18888
Summary:
Elapsed 0s
Count 10
RPS 1542.933
Reads 0.000MB/s
Writes 0.000MB/s
Error:
10 "dial tcp4 127.0.0.1:8080: connect: connection refused"
plow
can try to connect to IPv6 address when the IPv4 is refused while using localhost
, like curl
does
plow: 1.3.1
OS: macOS 13.6.1 22G313 x86_64
Shell: zsh 5.9
CPU: Intel i5-1038NG7 (8) @ 2.00GHz
目前我已经使用了上面所有的指令都显示不行,后台根本就无法获取到file对象,所以希望大佬可以指点一下如何编写这个指令,或者能否提供一个curl to plow 的工具呢?
Why are histogram bars in the terminal output erased once plow finishes, and only numerical output remains? Please keep the bars!
The version of the golang.org/x/sys dependency is too outdated to support a build on riscv64-freebsd. Please bump the dependency to enable a build.
If we set the auto browser flag, I'd like to see the responses per second as well as the requests.
can you add https skip verify flag to ignore cert verify,like -k, --insecure
in curl ?
or is there some way to do this in current version ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.