JMeter Charts Application
This application is used to upload JMeter Jtl reports to automatically generate reports.
Data from the jtl files are extracted and persisted in a mongoDB database.
The data is organized as Project >> version >> build >> report >> data.
The front end is built using JQuery and uses REST API to communicate with the Nodejs application in the backend.
A REST server is created to accept .jtl/.xml files and use an existing xsl stylesheet to populate data in mongodb. This data will be used to display charts in the frontend /html page.
The following Charts are generated using d3.js
- Average Response times vs Samples (Bar Chart).
- Average Response times vs No of Active Threads (Line Chart).
- Average Number of Active Threads vs Execution time(Line Chart).
- Compare Versions : - Average Response times vs Samples.
- In all Charts selecting the legend(Sample) will toggle the chart element(bar or line) display(show or hide).
- Compare two version's response times
- Compare two build's response times
Additional info provided.
- Setup the samples to be used for displaying the charts.
- Display the latest build and project on login.
- Provide support to Upload JTL/XML files from frontend.
- Drag and drop result files(JTL/XML) and upload.
- Using Requirejs for dependancy management.
- Following AMD module structure for js files.
- Has a dependancy on https://www.npmjs.com/package/xslt4node
- Could not get it to run on windows8.Need to test on windows 7.
Installation
Prerequisits
- Install java 6/7/8
- Works only on Firefox and Chrome(on IE the report generation does not work, Promises in the code breaks the stuff).
Step 1: bower install (all js components are copied to folder /src/main/web/static/js/lib) Note:rasterizehtml is not a bower dependancy.
Step 2: npm install.
Step 3: Install mongodb.
Step 4: provide the db details src/main/config.json.
Running
Step 1: node app.js in the src/main folder
Step 2: In the frontend if you want to see the report you need to select a project >> And select config tab >> check all the smaples you want to include in your report >> save/set samples.