grunt-api-benchmark

A grunt plugin that runs a series of benchmark tests and creates an html report

npm install grunt-api-benchmark
17 downloads in the last day
119 downloads in the last week
421 downloads in the last month

grunt-api-benchmark

A grunt plugin based on the nodejs module api-benchmark that takes a config.json file like this, makes some performance tests to your api, and creates an html export like this:

https://raw.github.com/matteofigus/api-benchmark-www/master/public/images/screen-shot.png

Node version: 0.8.0 required

Build status: Build Status

NPM

Getting Started

This plugin requires Grunt ~0.4.1

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-api-benchmark --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-api-benchmark');

The "api_benchmark" task

Overview

In your project's Gruntfile, add a section named api_benchmark to the data object passed into grunt.initConfig().

grunt.initConfig({
  api_benchmark: {
    my_api: {
      options: {
        output: 'generated'
      },
      files: {
        'report.html': 'config.json'
      }
    }
  }
});

Options

options.output

Type: String Default value: ``

The destination dir where to save the report file

Files

Just specify the name of the output for each config. It supports multiple configurations. AnyFile.html as output will produce the html, AnyFile.json will just save the data in a json file.

The config file

Needs to be something like this.

config.service

Needs to be an object containing the Name and the base http url of your api

config.endpoints

Needs to be an object containing your routes. Supports multiple verbs, data, headers, and everything. Look at here for the full documentation

config.options

Supports a lot of options. Look at here for the complete list.

Contributing

For the latest updates and release information follow @matteofigus on twitter. Feel free to open new Issues in case of Bugs or Feature requests. Pull requests are welcome, possibly in new branches.

Tests

grunt test

TODO

License

MIT

Bitdeli Badge

npm loves you