Mean vs median vs percentiles
For response times and similar distributions, averages mislead when a few slow requests skew the mean.
Example latencies (ms):
[1, 2, 3, 4, 4, 4, 5, 6, 7, 9, 10, 11, 11, 11, 12, 13, 13, 13, 50, 100]
| Metric | Approx value | Issue |
|---|---|---|
| Average | ~14.45 | Pulled up by 50 and 100 |
| Median | 9.5 | Ignores the bad tail |
| p90 | 13 | 90% of users ≤ 13ms |
| p95 | 50 | 95% of users ≤ 50ms |
Most users are fine; a minority is slow. Percentiles show that tail. In New Relic APM, open the response-time percentiles view and explore queries like:
SELECT
percentile(duration, 95) * 1000,
percentile(duration, 99) * 1000,
median(duration * 1000) AS Median,
average(duration * 1000) AS Average
FROM Transaction
WHERE entityGuid = 'YOUR_APP_GUID'
AND transactionType = 'Web'
SINCE 30 minutes AGO
TIMESERIESInfrastructure tab
Explore New Relic’s Infrastructure views for hosts, processes, and storage — complementary to APM.
Status pages & on-call
| Tool | Role |
|---|---|
| Status pages | Public uptime / incident communication |
| PagerDuty, Better Stack | On-call routing, escalations, wake-up calls |
If the on-call engineer misses a page, policies can escalate to a manager.
Problem with SaaS-only monitoring
New Relic, Datadog, and similar products can get expensive, and teams become hard to migrate off them.
Solution: learn the same concepts on open-source tools you can self-host:
- Prometheus — metrics
- Grafana — dashboards & alerts
- Loki — logs
That stack is Day 1.
Day 0 teaches observability with a managed product. Day 1 teaches you to own the stack.