Synthetic monitoring
Deploy scripted browser checks that simulate real user journeys across your critical flows — login, checkout, API health — and alert before customers notice.
Overview
Synthetic monitoring runs scripted transactions against your application on a fixed schedule from multiple geographic regions. Unlike RUM, it catches problems when zero users are online — staging regressions, third-party outages, DNS flips.
Check definition
Write a Playwright script that navigates your critical path. Meridian executes it inside isolated Chromium workers every 60 seconds. Assert on HTTP status, DOM text, and total duration.
// checkout.spec.ts
import { test, expect } from '@playwright/test';
test('complete purchase', async ({ page }) => {
await page.goto('https://shop.example.com/cart');
await page.click('[data-testid="checkout"]');
await page.fill('#email', 'synthetic@meridian.dev');
await page.click('[data-testid="place-order"]');
await expect(page.locator('.confirmation'))
.toBeVisible({ timeout: 15000 });
});Regions
Run checks from up to 12 edge locations. Meridian aggregates latency percentiles per region and surfaces geo-skewed regressions — a CDN misconfiguration in Frankfurt won't hide behind green US-East metrics.
Alerting
Configure thresholds on failure rate, p95 duration, or assertion misses. Meridian fires alerts to Slack, Discord, PagerDuty, or a generic webhook within 90 seconds of a confirmed multi-region degradation.
NEXT STEPS
Read the quickstart guide to wire your first synthetic check, or explore alert routing recipes for escalation policies.