Performance Insight is a web application to evaluate multiple requests to an endpoint and measure their performance. It provides an easy-to-use interface for running HTTP requests and visualizing their metrics.
- Run multiple HTTP requests with configurable parameters.
- Measure and display metrics such as total requests, requests per second, average response time, and error percentage.
- Visualize metrics for each session in a card layout.
- Supports GET and POST methods with optional request bodies for POST requests.
- Dynamic calculation of request duration, updating in real-time for running requests.
- Node.js and npm installed on your system.
- Clone the repository:
git clone https://github.com/yourusername/performance-insight.git- Navigate to the project directory:
cd performance-insight- Install the dependencies:
npm install- Start the server:
npm startThe application will be accessible at http://localhost:7891.
- Open the application in your browser.
- Fill out the form to configure your request:
- Method: Select either GET or POST.
- URL: Enter the endpoint URL.
- Iterations: Number of times to repeat the request.
- Delay: Delay between requests in milliseconds.
- Virtual Users: Number of virtual users to simulate.
- Duration: Duration to run the test in seconds.
- Request Body: (Visible only for POST method) Enter the JSON formatted request body.
- Click the Run button to initiate the requests.
- The metrics for each session will be displayed in the "Session Metrics" section.
- Each session will be shown as a card with the following information:
- Session ID
- Status (running or completed)
- Start Time
- End Time (blank if not available)
- Duration (only for completed sessions)
- Total Requests
- Requests Per Second
- Average Response Time (ms)
- Error Percentage
/performance-insight
├── /public
│ ├── index.html
│ ├── styles.css
│ └── script.js
├── /src
│ └── axiosInterceptors.ts
│ └── database.ts
│ ├── index.ts
│ ├── requestRunner.ts
│ └── routes.ts
├── package.json
├── tsconfig.json
└── README.md
- Build the Docker image:
docker build -t performance-insight .- Run the Docker container:
docker run -p 7891:7891 performance-insightThe application will be accessible at http://localhost:7891.
- Run the Docker Compose command to build and start the services:
docker compose up -dThe application will be accessible at http://localhost:7891.
Contributions are welcome! Please fork the repository and create a pull request.
This project is licensed under the MIT License.