├── .github ├── dependabot.yml ├── release-drafter.yml ├── tests_checker.yml └── workflows │ └── nodejs.yml ├── .gitignore ├── .npmignore ├── .taprc ├── LICENSE ├── README.md ├── autocannon-banner.png ├── autocannon-logo-hire.png ├── autocannon-logo-icon-1000px.png ├── autocannon-logo-icon-100px.png ├── autocannon.js ├── cluster.js ├── demo.gif ├── for-zero-x.js ├── help.txt ├── lib ├── aggregateResult.js ├── defaultOptions.js ├── format.js ├── histUtil.js ├── httpClient.js ├── httpMethods.js ├── httpRequestBuilder.js ├── init.js ├── manager.js ├── multipart.js ├── noop.js ├── parseHAR.js ├── pipelinedRequestsQueue.js ├── preload │ └── autocannonDetectPort.js ├── printResult.js ├── progressTracker.js ├── requestIterator.js ├── run.js ├── runTracker.js ├── subargAliases.js ├── url.js ├── util.js ├── validate.js ├── worker.js └── worker_threads.js ├── package.json ├── samples ├── bench-multi-url.js ├── customise-individual-connection.js ├── customise-verifyBody-workers.js ├── customise-verifyBody.js ├── helpers │ ├── on-response.js │ ├── setup-request.js │ └── verify-body.js ├── init-context.js ├── modifying-request.js ├── request-context-workers.js ├── request-context.js ├── requests-sample.js ├── track-run-workers.js ├── track-run.js └── using-id-replacement.js ├── server.js └── test ├── aggregateResult.test.js ├── argumentParsing.test.js ├── basic-auth.test.js ├── cert.pem ├── cli-ipc.test.js ├── cli.test.js ├── debug.test.js ├── envPort.test.js ├── fixtures ├── example-result.json ├── httpbin-get.json ├── httpbin-post.json ├── httpbin-simple-get.json └── multi-domains.json ├── forever.test.js ├── format.test.js ├── helper.js ├── httpClient.test.js ├── httpRequestBuilder.test.js ├── j5.jpeg ├── key.pem ├── keystore.pkcs12 ├── onPort.test.js ├── parseHAR.test.js ├── pipelinedRequestsQueue.test.js ├── printResult-process.js ├── printResult-renderStatusCodes.test.js ├── printResult.test.js ├── progressTracker.test.js ├── progressTracker.test.stub.js ├── requestIterator.test.js ├── run.test.js ├── runAmount.test.js ├── runMultiServer.test.js ├── runMultipart.test.js ├── runRate.test.js ├── sampleInt.test.js ├── serial ├── autocannon.test.js ├── run.test.js ├── tap-parallel-not-ok └── wasm.test.js ├── subargAliases.test.js ├── tap-parallel-ok ├── targetProcess.js ├── url.test.js ├── utils ├── has-worker-support.js ├── on-response.js ├── setup-client.js ├── setup-request.js └── verify-body.js ├── validate.test.js └── workers.test.js /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/release-drafter.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/.github/release-drafter.yml -------------------------------------------------------------------------------- /.github/tests_checker.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/.github/tests_checker.yml -------------------------------------------------------------------------------- /.github/workflows/nodejs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/.github/workflows/nodejs.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/.npmignore -------------------------------------------------------------------------------- /.taprc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/.taprc -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/README.md -------------------------------------------------------------------------------- /autocannon-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/autocannon-banner.png -------------------------------------------------------------------------------- /autocannon-logo-hire.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/autocannon-logo-hire.png -------------------------------------------------------------------------------- /autocannon-logo-icon-1000px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/autocannon-logo-icon-1000px.png -------------------------------------------------------------------------------- /autocannon-logo-icon-100px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/autocannon-logo-icon-100px.png -------------------------------------------------------------------------------- /autocannon.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/autocannon.js -------------------------------------------------------------------------------- /cluster.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/cluster.js -------------------------------------------------------------------------------- /demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/demo.gif -------------------------------------------------------------------------------- /for-zero-x.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/for-zero-x.js -------------------------------------------------------------------------------- /help.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/help.txt -------------------------------------------------------------------------------- /lib/aggregateResult.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/aggregateResult.js -------------------------------------------------------------------------------- /lib/defaultOptions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/defaultOptions.js -------------------------------------------------------------------------------- /lib/format.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/format.js -------------------------------------------------------------------------------- /lib/histUtil.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/histUtil.js -------------------------------------------------------------------------------- /lib/httpClient.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/httpClient.js -------------------------------------------------------------------------------- /lib/httpMethods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/httpMethods.js -------------------------------------------------------------------------------- /lib/httpRequestBuilder.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/httpRequestBuilder.js -------------------------------------------------------------------------------- /lib/init.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/init.js -------------------------------------------------------------------------------- /lib/manager.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/manager.js -------------------------------------------------------------------------------- /lib/multipart.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/multipart.js -------------------------------------------------------------------------------- /lib/noop.js: -------------------------------------------------------------------------------- 1 | /* istanbul ignore next */ 2 | module.exports = function noop () {} 3 | -------------------------------------------------------------------------------- /lib/parseHAR.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/parseHAR.js -------------------------------------------------------------------------------- /lib/pipelinedRequestsQueue.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/pipelinedRequestsQueue.js -------------------------------------------------------------------------------- /lib/preload/autocannonDetectPort.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/preload/autocannonDetectPort.js -------------------------------------------------------------------------------- /lib/printResult.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/printResult.js -------------------------------------------------------------------------------- /lib/progressTracker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/progressTracker.js -------------------------------------------------------------------------------- /lib/requestIterator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/requestIterator.js -------------------------------------------------------------------------------- /lib/run.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/run.js -------------------------------------------------------------------------------- /lib/runTracker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/runTracker.js -------------------------------------------------------------------------------- /lib/subargAliases.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/subargAliases.js -------------------------------------------------------------------------------- /lib/url.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/url.js -------------------------------------------------------------------------------- /lib/util.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/util.js -------------------------------------------------------------------------------- /lib/validate.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/validate.js -------------------------------------------------------------------------------- /lib/worker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/worker.js -------------------------------------------------------------------------------- /lib/worker_threads.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/lib/worker_threads.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/package.json -------------------------------------------------------------------------------- /samples/bench-multi-url.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/samples/bench-multi-url.js -------------------------------------------------------------------------------- /samples/customise-individual-connection.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/samples/customise-individual-connection.js -------------------------------------------------------------------------------- /samples/customise-verifyBody-workers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/samples/customise-verifyBody-workers.js -------------------------------------------------------------------------------- /samples/customise-verifyBody.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/samples/customise-verifyBody.js -------------------------------------------------------------------------------- /samples/helpers/on-response.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/samples/helpers/on-response.js -------------------------------------------------------------------------------- /samples/helpers/setup-request.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/samples/helpers/setup-request.js -------------------------------------------------------------------------------- /samples/helpers/verify-body.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = (body) => { 4 | return true 5 | } 6 | -------------------------------------------------------------------------------- /samples/init-context.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/samples/init-context.js -------------------------------------------------------------------------------- /samples/modifying-request.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/samples/modifying-request.js -------------------------------------------------------------------------------- /samples/request-context-workers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/samples/request-context-workers.js -------------------------------------------------------------------------------- /samples/request-context.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/samples/request-context.js -------------------------------------------------------------------------------- /samples/requests-sample.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/samples/requests-sample.js -------------------------------------------------------------------------------- /samples/track-run-workers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/samples/track-run-workers.js -------------------------------------------------------------------------------- /samples/track-run.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/samples/track-run.js -------------------------------------------------------------------------------- /samples/using-id-replacement.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/samples/using-id-replacement.js -------------------------------------------------------------------------------- /server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/server.js -------------------------------------------------------------------------------- /test/aggregateResult.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/aggregateResult.test.js -------------------------------------------------------------------------------- /test/argumentParsing.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/argumentParsing.test.js -------------------------------------------------------------------------------- /test/basic-auth.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/basic-auth.test.js -------------------------------------------------------------------------------- /test/cert.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/cert.pem -------------------------------------------------------------------------------- /test/cli-ipc.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/cli-ipc.test.js -------------------------------------------------------------------------------- /test/cli.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/cli.test.js -------------------------------------------------------------------------------- /test/debug.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/debug.test.js -------------------------------------------------------------------------------- /test/envPort.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/envPort.test.js -------------------------------------------------------------------------------- /test/fixtures/example-result.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/fixtures/example-result.json -------------------------------------------------------------------------------- /test/fixtures/httpbin-get.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/fixtures/httpbin-get.json -------------------------------------------------------------------------------- /test/fixtures/httpbin-post.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/fixtures/httpbin-post.json -------------------------------------------------------------------------------- /test/fixtures/httpbin-simple-get.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/fixtures/httpbin-simple-get.json -------------------------------------------------------------------------------- /test/fixtures/multi-domains.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/fixtures/multi-domains.json -------------------------------------------------------------------------------- /test/forever.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/forever.test.js -------------------------------------------------------------------------------- /test/format.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/format.test.js -------------------------------------------------------------------------------- /test/helper.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/helper.js -------------------------------------------------------------------------------- /test/httpClient.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/httpClient.test.js -------------------------------------------------------------------------------- /test/httpRequestBuilder.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/httpRequestBuilder.test.js -------------------------------------------------------------------------------- /test/j5.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/j5.jpeg -------------------------------------------------------------------------------- /test/key.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/key.pem -------------------------------------------------------------------------------- /test/keystore.pkcs12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/keystore.pkcs12 -------------------------------------------------------------------------------- /test/onPort.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/onPort.test.js -------------------------------------------------------------------------------- /test/parseHAR.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/parseHAR.test.js -------------------------------------------------------------------------------- /test/pipelinedRequestsQueue.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/pipelinedRequestsQueue.test.js -------------------------------------------------------------------------------- /test/printResult-process.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/printResult-process.js -------------------------------------------------------------------------------- /test/printResult-renderStatusCodes.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/printResult-renderStatusCodes.test.js -------------------------------------------------------------------------------- /test/printResult.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/printResult.test.js -------------------------------------------------------------------------------- /test/progressTracker.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/progressTracker.test.js -------------------------------------------------------------------------------- /test/progressTracker.test.stub.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/progressTracker.test.stub.js -------------------------------------------------------------------------------- /test/requestIterator.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/requestIterator.test.js -------------------------------------------------------------------------------- /test/run.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/run.test.js -------------------------------------------------------------------------------- /test/runAmount.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/runAmount.test.js -------------------------------------------------------------------------------- /test/runMultiServer.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/runMultiServer.test.js -------------------------------------------------------------------------------- /test/runMultipart.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/runMultipart.test.js -------------------------------------------------------------------------------- /test/runRate.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/runRate.test.js -------------------------------------------------------------------------------- /test/sampleInt.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/sampleInt.test.js -------------------------------------------------------------------------------- /test/serial/autocannon.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/serial/autocannon.test.js -------------------------------------------------------------------------------- /test/serial/run.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/serial/run.test.js -------------------------------------------------------------------------------- /test/serial/tap-parallel-not-ok: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/serial/wasm.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/serial/wasm.test.js -------------------------------------------------------------------------------- /test/subargAliases.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/subargAliases.test.js -------------------------------------------------------------------------------- /test/tap-parallel-ok: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/targetProcess.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/targetProcess.js -------------------------------------------------------------------------------- /test/url.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/url.test.js -------------------------------------------------------------------------------- /test/utils/has-worker-support.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/utils/has-worker-support.js -------------------------------------------------------------------------------- /test/utils/on-response.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/utils/on-response.js -------------------------------------------------------------------------------- /test/utils/setup-client.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/utils/setup-client.js -------------------------------------------------------------------------------- /test/utils/setup-request.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/utils/setup-request.js -------------------------------------------------------------------------------- /test/utils/verify-body.js: -------------------------------------------------------------------------------- 1 | module.exports = (body) => { 2 | return false 3 | } 4 | -------------------------------------------------------------------------------- /test/validate.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/validate.test.js -------------------------------------------------------------------------------- /test/workers.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcollina/autocannon/HEAD/test/workers.test.js --------------------------------------------------------------------------------