/framework

This is a typescript framework meant to performance test anything even remotely rest-like and related tools

Primary LanguageTypeScriptMIT LicenseMIT

@idrinth/api-bench

Coverage Status Codacy Badge Quality Gate Status Code Factor

Contents

What does this project do?

This project provides a framework for testing restful APIs and websites for changes in response times. This helps to detect performance changes in code in a quick and simple manner.

Code Generation

Code generation has been extracted into @idrinth/api-bench-cli, it provided with the framework or can be run on its own.

Why use a Benchmark Runner

Given, that the amount of APIs increase by moving to microservices, we need a way to determine if changes to a service's response times are related to code changes. For this purpose a defined load with repeatable request seems the most useful.

Regarding existing libraries

Other tools like matteofigus/api-benchmark, bvanderlaan/api-bench-runner or jeffbski/bench-rest are all untouched for quite a while and don't provide type definitions for typescript. This makes them less desirable when working with bigger projects where the better static codecheck is a huge boost in development speed.

Additionally, this tool separates the validation thread from the thread processing the actual requests to further minimise the effect of complicated validations or huge response bodies on the data gathering.

Usage & Examples

Please have a look at the website for more information.

CI Images

We have ready to be used CI Images:

Monitoring

We provide a monitoring solution out of the box.

License

As usual with my projects this is MIT-licensed.

Socials

Additionally, to support requests via GitHub issue, you can reach us via

GitHub URL    LinkedIn URL    Slack URL

Support

Commercial support and training is provided via Björn Büttner.

Privacy and Compliance

The @idrinth/api-bench framework does not collect any kind of information about its users or the APIs being tested. All data is local to the device you run it on or the database server you configure it to dump data in.