>
Synthetic Monitoring
Table of Contents
Overview
When to Use
Quick Start
Reference Guides
Best Practices
Overview
Set up synthetic monitoring to automatically simulate real user journeys, API workflows, and critical business transactions to detect issues and validate performance.
When to Use
End-to-end workflow validation
API flow testing
User journey simulation
Transaction monitoring
Critical path validation
Quick Start
Minimal working example:
// synthetic-tests.js
const { chromium } = require("playwright");
class SyntheticMonitor {
constructor(config = {}) {
this.baseUrl = config.baseUrl || "https://app.example.com";
this.timeout = config.timeout || 30000;
}
async testUserFlow() {
const browser = await chromium.launch();
const page = await browser.newPage();
const metrics = { steps: {} };
const startTime = Date.now();
try {
// Step 1: Navigate to login
let stepStart = Date.now();
await page.goto(`${this.baseUrl}/login`, { waitUntil: "networkidle" });
metrics.steps.navigation = Date.now() - stepStart;
// Step 2: Perform login
stepStart = Date.now();
await page.fill('input[name="email"]', "test@example.com");
await page.fill('input[name="password"]', "password123");
// ... (see reference guides for full implementation)
Reference Guides
Detailed implementations in the references/ directory:
Guide
Contents
Synthetic Tests with Playwright
Synthetic Tests with Playwright
API Synthetic Tests
API Synthetic Tests
Scheduled Synthetic Monitoring
Scheduled Synthetic Monitoring
Best Practices
✅ DO
Test critical user journeys
Simulate real browser conditions
Monitor from multiple locations
Track response times
Alert on test failures
Rotate test data
Test mobile and desktop
Include error scenarios
❌ DON'T
Test with production data
Reuse test accounts
Skip timeout configurations
Ignore test maintenance
Test too frequently
Hard-code credentials
Ignore geographic variations
Test only happy paths
1d:[don't have the plugin yet? install it then click "run inline in claude" again.