JMeteranalyzer is an application to analyze JMeter logs, it has a PHP backend and mysql DB.
This application has been developed by a senior Performance tester to analyze the JMeter results files after a test execution.
This application has been developed as a SPA (Single Page Application) with HTML5, Bootstrap, AngularJS, PHP and a MySQL database. It requires a PHP server and a MySQL database, a XAMPP server is perfect for it.
The application will generate Charts, Tables and Statistics for all the test and for each request/label, it also allows you to get the Average, Maximum and Minimum response time in specific range of time of a test.
It is recommended but not mandatory do these configurations in PHP and MySQL
File: xampp\php\php.ini (in a XAMPP server) or /opt/lampp/etc/php.ini (in a LAMP server)
max_execution_time = 1200
max_input_time = 360
post_max_size = 80M
upload_max_filesize = 80M
default_socket_timeout = 360
File: xampp\mysql\bin\my.ini (in a XAMPP server) or /opt/lampp/etc/my.cnf (in a LAMP server)
max_allowed_packet = 100M
This configurations are done to let PHP and MySQL handle big requests and heavy processes.
In the file: \jmeteranalyzer\services\configuracion.php you should configure you Database
$db_host = "<db_server>";
$db_user = "<user>";
$db_password = "<password>";
$db_database = "db_jmeteranalyzer";
The user should have full rights on the database.
To install the database, you only need to request in you browser this URL:
http://<your server>/jmeteranalyzer/services/install.php
e.g http://localhost/jmeteranalyzer/services/install.php (if you have the application in your PC)
NOTE: It is probably that in linux you have to give rights to write in the folder /jmeteranalyzer/services/uploads
It is important to do the configurations on JMeter to generate the results log with the correct structure. For a non-gui execution you need to modify the file: jmeter.propierties (apache-jmeter-2.##/bin) adding these lines:
jmeter.save.saveservice.output_format=csv
jmeter.save.saveservice.data_type=false
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=false
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=false
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.timestamp_format=ms
jmeter.save.saveservice.default_delimiter=,
jmeter.save.saveservice.autoflush=true
jmeter.save.saveservice.print_field_names=true
For a GUI execution you need to add a "Summary Report" listener and configure it as the image:
The license that I like is "CC BY-NC-SA" (Attribution-NonCommercial-ShareAlike 2.0 Generic). I think is fair (https://creativecommons.org/licenses/).
It uses canvas.js that has other license conditions (Creative Commons Attribution-NonCommercial 3.0 License) (http://canvasjs.com/license-canvasjs/) and it also uses an uploading code got from another Githug project (https://github.com/nervgh/angular-file-upload)
If you find an issue please submit it here.
All the ideas are welcome too, so please let me know if there is any functionality you want.