All Projects â†’ catdad â†’ grandma

catdad / grandma

Licence: other
👵 fully programmable stress testing framework

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to grandma

load-testing-toolkit
Collection of open-source tools for debugging, benchmarking, load and stress testing your code or services.
Stars: ✭ 65 (+225%)
Mutual labels:  benchmarking, load-testing
Rabbitmq Perf Test
A load testing tool
Stars: ✭ 197 (+885%)
Mutual labels:  benchmarking, load-testing
Vegeta
HTTP load testing tool and library. It's over 9000!
Stars: ✭ 18,780 (+93800%)
Mutual labels:  benchmarking, load-testing
Gatling Dubbo
A gatling plugin for running load tests on Apache Dubbo(https://github.com/apache/incubator-dubbo) and other java ecosystem.
Stars: ✭ 131 (+555%)
Mutual labels:  benchmarking, load-testing
benchmark-thrift
An open source application designed to load test Thrift applications
Stars: ✭ 41 (+105%)
Mutual labels:  benchmarking, load-testing
Locust
Scalable user load testing tool written in Python
Stars: ✭ 17,763 (+88715%)
Mutual labels:  benchmarking, load-testing
Shadowreader
Serverless load testing for replaying website traffic. Powered by AWS Lambda.
Stars: ✭ 138 (+590%)
Mutual labels:  benchmarking, load-testing
blockchain-load-testing
Code for load testing the Stellar network.
Stars: ✭ 36 (+80%)
Mutual labels:  benchmarking, load-testing
esperf
ElasticSearch Performance Testing tool
Stars: ✭ 50 (+150%)
Mutual labels:  benchmarking, load-testing
Bombardier
Fast cross-platform HTTP benchmarking tool written in Go
Stars: ✭ 2,952 (+14660%)
Mutual labels:  benchmarking, load-testing
Ali
Generate HTTP load and plot the results in real-time
Stars: ✭ 3,055 (+15175%)
Mutual labels:  benchmarking, load-testing
mzbench
Distributed Benchmarking
Stars: ✭ 39 (+95%)
Mutual labels:  benchmarking, load-testing
awesome-locust
A collection of resources covering different aspects of Locust load testing tool usage.
Stars: ✭ 40 (+100%)
Mutual labels:  benchmarking, load-testing
ezab
A suite of tools for benchmarking (load testing) web servers and databases
Stars: ✭ 16 (-20%)
Mutual labels:  benchmarking, load-testing
forest-benchmarking
A library for quantum characterization, verification, validation (QCVV), and benchmarking using pyQuil.
Stars: ✭ 41 (+105%)
Mutual labels:  benchmarking
perf check
PERRRFFF CHERRRRK!
Stars: ✭ 16 (-20%)
Mutual labels:  benchmarking
EDTA
Extensive de-novo TE Annotator
Stars: ✭ 210 (+950%)
Mutual labels:  benchmarking
chef-load
chef-load - a tool for simulating load on a Chef Infra Server and/or a Chef Automate server
Stars: ✭ 30 (+50%)
Mutual labels:  load-testing
beapi-bench
Tool for benchmarking apis. Uses ApacheBench(ab) to generate data and gnuplot for graphing. Adding new features almost daily
Stars: ✭ 16 (-20%)
Mutual labels:  benchmarking
PiBenchmarks
Raspberry Pi benchmarking scripts featuring a storage benchmark with score
Stars: ✭ 69 (+245%)
Mutual labels:  benchmarking

grandma

Linux Build Windows Build Test Coverage Code Climate Downloads Version Dependency Status

This is a load testing library and CLI tool. It is inspired by the good parts of Vegeta and JMeter, but hopefully leaves out the bad parts of both.

Install

You can install grandma as a global CLI tool:

npm install grandma

Test files

Here is a quick example of a test file:

module.exports = {
    beforeAll: function(done) {
        process.nextTick(done);
    },
    beforeEach: function(done) {
        process.nextTick(done);
    },
    test: function(done) {
        process.nextTick(done);
    },
    afterEach: function(done) {
        process.nextTick(done);
    },
    afterAll: function(done) {
        process.nextTick(done);
    }
};

All functions other than test are optional, and you can exclude them if you do not need them. All functions are asynchronous, and you must call the done callback to continue. For more information about writing tests, see the test files help topic.

CLI

To see the most up-to-date CLI, type:

grandma help

The following commands are available.

grandma run <testname> --duration=<duration> --rate=<rate> [options]
grandma report [glob=stdin] [options]
grandma list [options]

To see help on these commands, you can type one of:

grandma run --help
grandma report --help

The following options are available as flags (some are only relevant for the run command):

grandma list

Lists all the tests in your test suite. You can use these names in grandma run to run the test. See more information about it in the grandma list CLI page.

grandma run

Run a test named "pineapples" for 10 minutes at a rate of 500 tests per second:

grandma run pineapples --duration 10m --rate 500 --out pineapples.log

Run a test named "peaches" for one and a half hours, running 100 concurrent tests:

grandma run peaches --duration 1h30m --concurrent 100 --out peaches.log

To find out more about the CLI, please see the grandma run CLI page.

Note: I will assume that you have configured the test directory in the .grandmarc file, so it was not included it in these examples.

grandma report

Print a plain text report of the previously-described test run:

grandma report pineapples.log

You can also create an HTML page containing an interactive graph of the results:

grandma report pineapples.log --type html --out pineapples.html

By default, all reports will print to standard output, unless you specify a file in the --out flag.

You can find more information about the available reports and the data they provide in the grandma report CLI page.

grandma diff

Compares two or more test runs, calculating the difference in timing among them.

grandma diff --logs one.log two.log three.log

.grandmarc file

You can set up an RC file to help with managing some of the setting, such as the directory of test files. Here is the content a sample file.

To find out more, see the .grandmarc doc page.

API

Grandma exposes the run and report commands as an API.

var grandma = require('grandma');

grandma.run

See more information about using run in the grandma.run API page.

grandma.report

See more information about using report in the grandma.report API page.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].