Measures the network latency between your browser and GitHub and each of the Azure DevOps region.
🚀 Live Demo: https://azure4devops.com/GithubAzureDevOpsSpeedTest/
- 📊 Real-time Latency Testing - Test network latency to GitHub and Azure DevOps regions
- 🌙 Dark Mode - Toggle between light and dark themes with persistent preference
- 💾 Export Results - Download test results as CSV or JSON
- 📝 Test History - Automatically saves test history to localStorage
- 📱 Mobile Responsive - Works great on all devices
- ✅ Unit Tests - Comprehensive test coverage with Mocha
- 🔄 CI/CD Pipeline - Automated testing and deployment with GitHub Actions
npm installRun local development server:
npm startThis will start http-server on port 8080 and open your browser automatically.
Build the production version:
npm run buildThis will:
- Run ESLint to check code quality
- Bundle and minify the JavaScript with Browserify and Babel
Run unit tests:
npm testFor development with auto-rebuild:
npm run watchThe application now includes two export options:
- CSV Export - Download results in spreadsheet-compatible format
- JSON Export - Download results in JSON format for further processing
All exports include timestamp, location names, average latency, and min/max values.
Click the toggle button in the top-right corner to switch between light and dark modes. Your preference is automatically saved to localStorage.
Test results are automatically saved to localStorage, allowing you to:
- View historical test data
- Compare results over time
- Resume where you left off
You can use these commands to build the User Interface:
$ npm install
$ npm run build
Unit tests are located in the test/ directory. They cover:
- Location data validation
- URL format checking
- Data structure integrity
The project includes a GitHub Actions workflow that:
- Runs tests on multiple Node.js versions (18.x, 20.x)
- Performs linting
- Builds the project
- Deploys to GitHub Pages automatically on push to master
Forked and inspired from https://github.com/richorama/AzureSpeedTest2 needed to change to fetch instead of Ajax call because of no option to configure CORS
- Azure DevOps regions response time, at least for me are very similar to https://richorama.github.io/AzureSpeedTest2/ hitting the same Azure region plus few extra 1-5 ms
- GitHub response time is better usually than Azure DevOps, but time can come maybe from better CDN setup, as GitHub from begging was designed to public open source projects
Production:
- React 18.3.1
- React-DOM 18.3.1
- React-Sparklines 1.7.0
Development:
- Babel 6.24.1
- Browserify 17.0.0
- ESLint 8.57.1
- Mocha 11.7.5
- http-server 14.1.1
Contributions are welcome! Please feel free to submit a Pull Request.
See LICENSE file for details.
Created by @jnowwwak
