A real-time visualization dashboard for analyzing JMeter performance test results. This application provides insights into API performance metrics through an intuitive interface, making it easier to interpret load test data.
View the live application: Performance Testing Dashboard
- Flask: Python web framework for the test API
- Cryptography: Using Fernet for message encryption/decryption
- RESTful endpoints for message handling
- React: Frontend framework for building the user interface
- Chart.js: Used for data visualization
- React-Chartjs-2: React wrapper for Chart.js
- CSS: Custom styling for the dashboard components
- Apache JMeter: Performance testing tool used to generate test data
- CSV: Data storage format for test results
- Secure message encryption and storage
- RESTful endpoints for sending and retrieving messages:
- POST
/send_message: Encrypt and store messages - GET
/retrieve_message/<id>: Retrieve and decrypt messages
- POST
- Real-time Metrics Display
- Total number of requests
- Average response time
- 95th percentile response time
- Failure rate percentage
- Minimum response time
- Maximum response time
- Interactive Data Visualization
- Line chart showing response time trends
- Timestamp-based X-axis
- Clear metric visualization
- File Management
- CSV file upload functionality
- Automatic data processing and visualization
- Error handling for invalid files
-
Data Collection
- The Flask API processes encrypted messages
- JMeter runs performance tests against the API
- Test results are exported to CSV format
-
Data Processing
- Dashboard reads and parses CSV files
- Calculates key performance metrics
- Processes timestamps for visualization
-
Data Visualization
- Metrics are displayed in an easy-to-read grid
- Response times are plotted on an interactive line chart
- Real-time updates as new data is loaded
- Node.js and npm
- Python 3.x
- Apache JMeter
# Install dependencies
pip install flask cryptography
# Run the Flask application
python app.py# Install dependencies
npm install
# Start the development server
npm start- Open Apache JMeter
- Configure test plan for the Flask API endpoints
- Run the test
- Export results as CSV
- Upload CSV to the dashboard
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.