Monitoring RESTful API performance over time

I am currently investigating ways to monitor the releases of our RESTful API web application to determine when endpoint performance is degrading from the previous version.

We found that if we tweak the underlying data access code (for example, by adding a new parameter), we know if the performance is just going to production after release. I thought we run some timings on endpoints after every release to stage (being pre-production environment and with production data) then we will be warned earlier. Ideally, I want to automate this, so this is not another step in the release process.

So far I have configured my Jenkins instance to run http://www.sitespeed.io/ for different endpoints and plotted the response times on a graph (using Jenkins' plot plugin). By running Jenkins projects after each milestone release, the graph displays response times over time.

The main disadvantage of this is that it won't warn us if the performance is different from the previous version: we had to manually display the graph. Ideally, I would like to say that if the new response time is% 5 compared to the last, then send an email.

So my question is, can anyone think of a way to do this with Jenkins, or learn about any other tool that can track non-production URLs over time?

thank

Nick

+3


source to share





All Articles