A modern React application for visualizing performance metrics from JSON data. This tool creates beautiful line graphs to analyze component performance over time.
- Interactive Line Charts: Visualize performance metrics over time
- Multiple Component Tracking: Track individual component performance (slack_mcp, gmail_mcp, personality, einstein)
- Total Performance Overview: Dedicated chart for overall performance
- Statistics Dashboard: View average, min, and max values for each component
- Responsive Design: Works on desktop and mobile devices
- File Upload: Simple drag-and-drop or click-to-upload JSON files
- Real-time Data Processing: Instant visualization of uploaded data
- Node.js (version 16 or higher)
- npm or yarn
- Clone or download this repository
- Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser and navigate to
http://localhost:5173
-
Click "Choose JSON File" to upload your performance data
The application expects JSON data in the following format:
{
"runs": [
{
"timestamp": "2025-07-14T20:30:02.400879",
"deal_id": "27",
"component_times": {
"slack_mcp": 41.86345100402832,
"gmail_mcp": 104.59490704536438,
"personality": 10.025123834609985,
"einstein": 27.181757926940918,
"total": 183.6652398109436
},
"success": true
}
]
}
runs
: Array of performance run datatimestamp
: ISO 8601 timestamp stringdeal_id
: Unique identifier for the runcomponent_times
: Object containing performance metrics in secondsslack_mcp
: Slack MCP component timegmail_mcp
: Gmail MCP component timepersonality
: Personality component timeeinstein
: Einstein component timetotal
: Total execution time
success
: Boolean indicating if the run was successful
- Upload Data: Click the "Choose JSON File" button and select your performance data file
- View Overview: See basic information about your data including number of runs and date range
- Analyze Components: The first chart shows individual component performance over time
- Monitor Totals: The second chart focuses on total performance trends
- Review Statistics: Check the statistics cards for average, minimum, and maximum values
- Shows all individual components (slack_mcp, gmail_mcp, personality, einstein) on the same timeline
- Color-coded lines for easy identification
- Interactive tooltips showing exact values and timestamps
- Legend for component identification
- Focused view of overall performance trends
- Larger, more prominent display of total execution time
- Useful for identifying performance degradation or improvements
- Average performance for each component
- Minimum and maximum values
- Helps identify performance outliers and trends
The application is built with React and uses Recharts for visualization. You can customize:
- Colors: Modify the
colors
object inApp.jsx
to change chart colors - Styling: Update
App.css
for visual customization - Data Processing: Modify the
processData
function to handle different data formats
To create a production build:
npm run build
The built files will be in the dist
directory.
- React 19: Modern React with hooks
- Recharts: Professional charting library
- Vite: Fast build tool and development server
- CSS3: Modern styling with gradients and animations
A sample JSON file (sample-performance-data.json
) is included in the repository for testing purposes.
Feel free to submit issues and enhancement requests!
This project is open source and available under the MIT License.