Complete reference for all monitoring endpoints available on SpeedTest Pro
https://broadbandgauge.com
These endpoints simulate different performance characteristics for monitoring systems.
/api/fast
Quick response endpoint
Returns a fast response in under 50ms. Ideal for testing optimal server performance.
{
"status": "success",
"message": "Fast response",
"timestamp": "2025-08-21T21:59:01.590Z",
"responseTime": "12ms",
"server": "node-express"
}
/api/medium
Medium delay response
Simulates medium server load with 100-300ms response time.
{
"status": "success",
"message": "Medium delay response",
"timestamp": "2025-08-21T21:59:01.590Z",
"delay": "247ms",
"load": "medium"
}
/api/slow
Slow response endpoint
Simulates heavy server load with 1-3 second response time.
{
"status": "success",
"message": "Slow response",
"timestamp": "2025-08-21T21:59:01.590Z",
"delay": "2341ms",
"load": "heavy"
}
/api/unreliable
Unreliable endpoint with random failures
Randomly fails 30% of requests to test error handling and retry logic.
{
"status": "success",
"message": "Unreliable endpoint succeeded",
"timestamp": "2025-08-21T21:59:01.590Z",
"reliability": "70%"
}
{
"status": "error",
"message": "Service temporarily unavailable",
"code": 503,
"timestamp": "2025-08-21T21:59:01.590Z"
}
/api/large
Large response payload testing
size
integer - Response size in MB (default: 1, max: 50)
GET /api/large?size=10
Returns a JSON object with generated test data of the specified size.
/api/monitoring/ping
Advanced ping with metadata
Enhanced ping endpoint that returns server metadata and performance metrics.
{
"status": "healthy",
"timestamp": "2025-08-21T21:59:01.590Z",
"server": {
"uptime": 3600,
"memory": "45.2MB",
"cpu": "2.1%",
"version": "1.0.0"
},
"location": "Dublin, Ireland",
"ping": "pong"
}
/api/delay/:ms
Configurable delay endpoint
ms
integer - Delay in milliseconds (max: 10000)
GET /api/delay/500
{
"status": "success",
"message": "Delayed response",
"requestedDelay": 500,
"actualDelay": 503,
"timestamp": "2025-08-21T21:59:01.590Z"
}
/api/metrics
Real-time server metrics
Returns comprehensive server performance metrics in real-time.
{
"timestamp": "2025-08-21T21:59:01.590Z",
"server": {
"uptime": 3600,
"memory": {
"used": "45.2MB",
"free": "2.1GB",
"total": "2.15GB"
},
"cpu": {
"usage": "2.1%",
"cores": 2
},
"requests": {
"total": 1250,
"successful": 1188,
"failed": 62,
"average_response_time": "245ms"
}
}
}
/api/time-based
Time-based performance variation
Performance varies based on current time to simulate real-world load patterns.
/health
Basic health check
Simple health check endpoint for monitoring system availability.
{
"status": "healthy",
"timestamp": "2025-08-21T21:59:01.590Z",
"uptime": 3600,
"service": "SpeedTest Pro - Interview Demo Website",
"version": "1.0.0",
"environment": "production"
}
/api/ipinfo
Client IP information
Returns detailed information about the client's IP address and location.
{
"ip": "89.100.17.159",
"city": "Dublin",
"region": "Leinster",
"country": "IE",
"country_name": "Ireland",
"timezone": "Europe/Dublin",
"isp": "Virgin Media Ireland",
"org": "Virgin Media",
"as": "AS5089 Virgin Media Limited"
}
# Basic ping test
curl https://broadbandgauge.com/api/monitoring/ping
# Test with specific delay
curl https://broadbandgauge.com/api/delay/1000
# Large response test
curl https://broadbandgauge.com/api/large?size=5
# Get server metrics
curl https://broadbandgauge.com/api/metrics
// Test endpoint reliability
async function testEndpoint() {
try {
const response = await fetch('https://broadbandgauge.com/api/unreliable');
const data = await response.json();
console.log('Success:', data);
} catch (error) {
console.error('Error:', error);
}
}
// Monitor performance over time
async function monitorPerformance() {
const start = Date.now();
const response = await fetch('https://broadbandgauge.com/api/fast');
const end = Date.now();
console.log(`Response time: ${end - start}ms`);
}
import requests
import time
# Performance monitoring script
def monitor_endpoint(url, iterations=10):
results = []
for i in range(iterations):
start = time.time()
response = requests.get(url)
end = time.time()
results.append({
'status': response.status_code,
'response_time': (end - start) * 1000,
'data': response.json()
})
return results
# Test different endpoints
endpoints = [
'https://broadbandgauge.com/api/fast',
'https://broadbandgauge.com/api/medium',
'https://broadbandgauge.com/api/slow'
]
for endpoint in endpoints:
results = monitor_endpoint(endpoint)
avg_time = sum(r['response_time'] for r in results) / len(results)
print(f"{endpoint}: {avg_time:.2f}ms average")
This is a demo environment with generous rate limits:
/api/fast
to verify connectivity/api/unreliable
to test error handling/api/time-based
for realistic patterns/health
for basic availability