All Projects → innogames → Jmeter Control Center

innogames / Jmeter Control Center

Licence: mit
Online web application-dashboard for report analyzing,running and online monitoring of load tests started with JMeter

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Jmeter Control Center

Django Jazzmin
Jazzy theme for Django
Stars: ✭ 574 (+250%)
Mutual labels:  django, dashboard
Django Controlcenter
Set of widgets to build dashboards for Django projects
Stars: ✭ 866 (+428.05%)
Mutual labels:  django, dashboard
Django Dashing
django-dashing is a customisable, modular dashboard application framework for Django to visualize interesting data about your project. Inspired in the dashboard framework Dashing
Stars: ✭ 660 (+302.44%)
Mutual labels:  django, dashboard
Jmeter Maven Plugin
The JMeter Maven Plugin
Stars: ✭ 362 (+120.73%)
Mutual labels:  performance-testing, jmeter
Jmeter Elasticsearch Backend Listener
JMeter plugin that lets you send sample results to an ElasticSearch engine to enable live monitoring of load tests.
Stars: ✭ 72 (-56.1%)
Mutual labels:  performance-testing, jmeter
Awesome Jmeter
A collection of resources covering different aspects of JMeter usage.
Stars: ✭ 413 (+151.83%)
Mutual labels:  performance-testing, jmeter
Django Admin Bootstrap
Responsive Theme for Django Admin With Sidebar Menu
Stars: ✭ 787 (+379.88%)
Mutual labels:  django, dashboard
jmeter-to-k6
Converts JMeter .jmx files to k6 JS code
Stars: ✭ 57 (-65.24%)
Mutual labels:  jmeter, performance-testing
Jmeter Java Dsl
Simple API to run JMeter performance tests in an VCS and programmers friendly way
Stars: ✭ 63 (-61.59%)
Mutual labels:  performance-testing, jmeter
Babybuddy
A 👶 buddy to help caregivers track sleep, feedings, diaper changes, and tummy time to learn about and predict baby's needs without (as much) guess work.
Stars: ✭ 1,021 (+522.56%)
Mutual labels:  django, dashboard
Django Dash
Customisable, modular dashboard application framework for Django.
Stars: ✭ 337 (+105.49%)
Mutual labels:  django, dashboard
Junitperf
⛵️Junit performance rely on junit5 and jdk8+.(java 性能测试框架)
Stars: ✭ 86 (-47.56%)
Mutual labels:  performance-testing, jmeter
Django Jet
Modern responsive template for the Django admin interface with improved functionality. We are proud to announce completely new Jet. Please check out Live Demo
Stars: ✭ 3,207 (+1855.49%)
Mutual labels:  django, dashboard
Metersphere
MeterSphere 是一站式开源持续测试平台,覆盖测试管理、接口测试、性能测试等。搞测试,就选 MeterSphere!
Stars: ✭ 6,331 (+3760.37%)
Mutual labels:  performance-testing, jmeter
Performance Testing Framework
Framework allows to perform load testing with Apache Jmeter, view application/server metrics in real-time with Grafana, analyze errors cause with detailed traces for failed requests, compare different test runs in scripted dashboard and perform frontend performance testing with sitespeed.io+webpagetest
Stars: ✭ 275 (+67.68%)
Mutual labels:  performance-testing, jmeter
Drill
Drill is a HTTP load testing application written in Rust inspired by Ansible syntax
Stars: ✭ 767 (+367.68%)
Mutual labels:  performance-testing, jmeter
JEval
⚡ JEval helps you to evaluate your JMeter test plan and provides recommendation before you start your performance testing. All contributions welcome 🙏.
Stars: ✭ 28 (-82.93%)
Mutual labels:  jmeter, performance-testing
ltc
Online web application-dashboard for report analyzing,running and online monitoring of load tests started with JMeter
Stars: ✭ 185 (+12.8%)
Mutual labels:  jmeter, performance-testing
Dcmp
Docker Container Management Platform(Dashboard UI)
Stars: ✭ 39 (-76.22%)
Mutual labels:  django, dashboard
Django Suit Dashboard
Create a dashboard within Django admin interface.
Stars: ✭ 75 (-54.27%)
Mutual labels:  django, dashboard

Description

JMeter Load Testing Center (codename jltc) - dashboard/report analyzer for load testing with JMeter (http://jmeter.apache.org/).

Developed and used in Innogames GmbH (www.innogames.com) to provide load tests results.

Online web-application/dashboard for "continuous integration" (CI) Load testing with JMeter. A central system for launching (incl. distribution testing), monitoring tests, creating reports and for a comparative analysis between different load tests provided with Jmeter. Can be used with Jenkins or as a replacement for Jenkins + Plugins + Jmeter combination.

Consist of several modules:

  1. Analyzer - build reports, analyze results and compare results with another.
  2. Online - online monitoring for running tests
  3. Controller - configure and run the tests
  4. Administrator - configure different parameters

Docker

To try to use this tool, you can try this docker-compose to deploy it quickly. https://github.com/arcmedia/JmeterControlCenter

[DASHBOARD]

(!) New feature Upload CSV files with your test results data and get immediately report and compare it with previous tests: alt tag

Get tests overview alt tag

[ANALYZER]

Create dynamic report for the tests alt tag

Get a performance trends for all test results alt tag

Get fancy good-readable aggregate table for the test: alt tag

Get detailed report for executed action: alt tag

Get response times, rps, errors data from test: alt tag

[ONLINE] Online test monitoring

Provides online test monitoring, reads .csv result files and builds graphs online without Graphite,plugins,etc: alt tag

[CONTROLLER]

Configure and start tests, using normal or distribution testing. Possible to configure and run pre- and post-test bash-scripts (currently on development) and additional JMeter test-plan parameters: alt tag

The application comes with:

Current requirements.txt file is:

Django==1.11.16
matplotlib
numpy
pandas
paramiko
psutil
matplotlib
scipy
SQLAlchemy
psycopg2

For data storage uses Postgres (9.5+). Supports Linux and Windows.

Installation

1. Download

You have to download project files in your folder: $ cd /home/ $ git clone git://github.com/innogames/JMeter-Control-Center.git

2. Requirements

Right there, you will find the requirements.txt file that has all tools, django. To install them, simply type:

$ pip install -r requirements.txt

Also probably will be needed to install the next packages:

$ apt-get install python-matplotlib

$ apt-get install python-tk

3. Initialize the database

Create your own or rename the example setting file jtlc/settings.py.example to jtlc/settings.py

First set the database engine (only PostgreSQL 9.5+) in your settings files; jltc/settings.py Of course, remember to install necessary database driver for your engine. Then define your credentials as well. By default jltc will use jltc schema in database, which needs to be created:

su - postgres

psql

\c YOUR_DATABASE_NAME

CREATE SCHEMA jltc AUTHORIZATION your_user_name;

Then execute in jltc folder:

./manage.py makemigrations

./manage.py migrate

./manage.py loaddata fixtures/initial_data.json

4. Go!

nohup python manage.py runserver 8888 &

5. Running tests with Jenkins

Add in Jenkins job those commands, to prepare test plan and run the test:

Jmeter job parameters list example:

THREAD_COUNT = 100
DURATION = 3600
RAMPUP = 1800
TEST_PLAN = testplan.jmx
JMETER_DIR = /var/lib/jmeter/

Job pre-build action example:

duration=$((DURATION + RAMPUP))
TEST_DATA=`python /var/lib/jltc/manage.py shell -c "import controller.views as views; print(views.prepare_test('"$JOB_NAME"','"$WORKSPACE"','"$JMETER_DIR"', '$THREAD_COUNT', '$duration', '$RAMPUP', testplan_file='"$TEST_PLAN"', jenkins_env={'JENKINS_HOME':'"$JENKINS_HOME"','JOB_NAME':'"$JOB_NAME"','BUILD_NUMBER':'"$BUILD_NUMBER"','BUILD_DISPLAY_NAME':'"$BUILD_NUMBER"'}));"`
TEST_PLAN=`python -c 'import json,sys;data=dict('"$TEST_DATA"');print data["testplan"]'`

echo "Test plan: $TEST_PLAN"

VARS="-JTHREAD_COUNT=$THREAD_COUNT -JDURATION=$DURATION -JRAMPUP=$RAMPUP"

java -jar -Xms5g -Xmx5g -Xss256k $JMETER_DIR/bin/ApacheJMeter.jar -n -t $TEST_PLAN -j $WORKSPACE/loadtest.log $VARS -Jjmeter.save.saveservice.default_delimiter=,

5. Test data analysis with Jenkins

To parse data after the test just add in Jenkins post-job script: Copy generated result file to current build directory:

find "$WORKSPACE" -name jmeter*.jtl -exec mv {} "$JENKINS_HOME/jobs/$JOB_NAME/builds/$BUILD_NUMBER/jmeter.jtl" \;

Use datageneration script:

./datagenerator_py3.py --jenkins-base-dir /var/jenkins/ --project-name PROJECT_NAME

OR

curl --data "results_dir=$JENKINS_HOME/jobs/$JOB_NAME/builds/$BUILD_NUMBER/" http://localhost:8888/controller/parse_results

To use with HTML Pulblisher plugin (https://wiki.jenkins.io/display/JENKINS/HTML+Publisher+Plugin) set this values in project setting in Publish HTML reports section:

HTML directory to archive: `$JENKINS_HOME/jobs/$JOB_NAME/builds/$BUILD_NUMBER/`
Index page[s]: `https://URL/?action=getbuilddata&project_name=$JOB_NAME&build_number=$BUILD_NUMBER`
Keep past HTML reports: `enabled`
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].