HTTP Performance Analyzer β‘
A Raycast extension to analyze and visualize HTTP/HTTPS request performance metrics.
Features
- π DNS Lookup Time - Measure domain name resolution
- π TCP Connection Time - Track TCP handshake duration
- π TLS Handshake Time - Monitor SSL/TLS negotiation (HTTPS only)
- βοΈ Server Processing Time - Measure time to first byte
- π₯ Content Transfer Time - Track download duration
- β±οΈ Total Request Time - Complete end-to-end timing
- π Performance Grades - Automatic A+ to F rating
- β οΈ Status Indicators - Visual indicators for each phase (β
β οΈ π΄)
Installation
From Raycast Store
- Open Raycast
- Search for "HTTP Performance Analyzer"
- Click "Install"
Manual Installation (Development)
# Clone and setup
git clone <repository-url>
cd httpperf
npm install
# Start development mode
npm run dev
Usage
- Open Raycast
- Type "Analyze HTTP Performance"
- Enter the URL you want to test
- View the performance metrics
Keyboard Shortcuts
- Cmd+C - Copy results
- Cmd+U - Copy URL
- Cmd+D - View detailed report
Advanced Options
- HTTP Method: GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS
- Custom Headers: Add custom HTTP headers
- Follow Redirects: Enable/disable redirect following
Display
The extension shows:
Top Section:
- Connection info (IP, HTTP version, status code, performance grade)
- Downloaded size and speed
Timing Breakdown:
- Each phase with duration and percentage
- Color-coded status indicators:
- β
Green = Excellent performance
- β οΈ Orange = Could be improved
- π΄ Red = Needs optimization
Example:
β‘ 756ms
π Connection β
200 Success Β· HTTP/2 Β· β‘ A
142.250.185.196
πΎ Downloaded 4.02 KB at 5.31 KB/s
π DNS Lookup 150ms 18.5% β
π TCP Connection 119ms 14.1% β
π TLS Handshake 356ms 47.0% π΄
βοΈ Server Processing 131ms 17.3% β
π₯ Content Transfer 0ms 0.0% β
π Total Time 756ms
Performance Thresholds
Each phase is evaluated against standard thresholds:
- DNS: < 50ms β
| 50-150ms β οΈ | >150ms π΄
- TCP: < 100ms β
| 100-200ms β οΈ | >200ms π΄
- TLS: < 200ms β
| 200-400ms β οΈ | >400ms π΄
- Server: < 500ms β
| 500-1500ms β οΈ | >1500ms π΄
- Transfer: < 200ms β
| 200-600ms β οΈ | >600ms π΄
Requirements
- Raycast (latest version recommended)
- macOS 11.0 or later
curl command (pre-installed on macOS)
Development
# Install dependencies
npm install
# Start development mode
npm run dev
# Build for production
npm run build
# Lint code
npm run lint
Troubleshooting
"Failed to analyze" error
- Verify the URL is valid and accessible
- Check your internet connection
- Some websites may block automated requests
- Try with a different URL
No TLS metrics
- TLS metrics only appear for HTTPS URLs
- HTTP requests will show 0ms for TLS
Unexpected timing
- Network conditions affect results
- Server location and load impact timing
- Run multiple tests for consistency
Contributing
Contributions welcome! Please submit a Pull Request.
License
MIT License
Changelog
See CHANGELOG.md for version history.