We use analytics cookies.We use cookies to analyze site traffic and improve your experience.
Loading...
System Design Masterclass · Observability Monitoring
Free preview: the first 2 parts of this 8-part lesson.
Already bought the course? Sign in to read the whole lesson.
this lesson is part of
System Design Masterclass
Unlock this lesson and the 751 other paid lessons
$25 once, by PayPal
See the System Design courseread the rest of this lesson in
System Design Masterclass
Unlock this lesson and the 751 other paid lessons
$25 once, by PayPal
See the System Design coursein Observability Monitoring
This lesson is part of the full System Design Masterclass. Unlock it along with 769 other lessons for a one-time payment.
One-time payment by card or PayPal
Get Lifetime AccessOne-time payment: UPI, card or netbanking
Get Lifetime Access18 Foundation lessons are free, no payment needed. Try them now
It is easy and good
“It is really nice and good Please join the course”
A backend team was proud of their API performance. P99 response time: 50ms. Server-side rendering: 80ms. They'd optimized the heck out of everything.
Then someone installed a Real User Monitoring tool. The actual page load time for users in India on mobile 4G connections? 4.2 seconds. For users in Brazil on 3G? 7.8 seconds.
The server-side metrics measured the time from request arrival to response departure, the server's work. They completely missed resolution, TCP handshake, TLS negotiation, content download, JavaScript parsing, rendering, layout, and paint. All the things that happen between "the server finished" and "the user sees something useful."
RUM measures performance from the browser itself, capturing the full user experience including network conditions, device capabilities, and client-side rendering performance that server-side monitoring can never see.
RUM tools inject a small JavaScript snippet that collects performance data from the browser's Performance API:
| Metric | What It Measures | Why It Matters |
|---|---|---|
| TTFB (Time to First Byte) | Time from navigation start to first byte of response | Measures server + network speed |
| FCP (First Contentful Paint) | Time until first content appears on screen | First visual feedback to the user |
| LCP (Largest Contentful Paint) | Time until the largest visible element renders | Primary "is it loaded?" perception |
| FID (First Input Delay) | Delay before first user interaction is processed | Can the user interact with the page? |
| CLS (Cumulative Layout Shift) | Amount of unexpected visual movement | Does the page jump around? |
| INP (Interaction to Next Paint) | Responsiveness to user interactions | Does the page feel snappy? |
These are Google's Core Web Vitals, the metrics they use for search ranking and the industry standard for measuring frontend performance.
RUM also captures: