Skip to content
This repository has been archived by the owner on Dec 4, 2023. It is now read-only.

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

License

Notifications You must be signed in to change notification settings

TwineHealth/grunt-api-benchmark

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

grunt-api-benchmark

Greenkeeper badge

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.10.0 required

Build status: Build Status

NPM

Getting Started

This plugin requires Grunt ^1.0.0

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 92.3%
  • JavaScript 7.7%