Skip to main content

Statistics dashboard

The Statistics dashboard is the Monitoring area's analytics view. It turns your CDN traffic into summary cards, charts, and tables so you can see request volume, cache efficiency, errors, geography, devices, and origin performance at a glance.

All data is read from Paradarum's analytics store and served by the monitoring API under the base route /api/monitoring. Every endpoint requires a JWT Bearer token and is automatically scoped to your account — the API resolves your account's property hostnames and filters on them, so you only ever see your own traffic.

Scoping your view

The property selector

At the top of the Statistics page, a property selector lets you choose All Properties or a single property. You can also arrive pre-filtered through a ?propertyId= query parameter, and the page otherwise defaults to your globally selected current property.

Behind the scenes the API attaches propertyId to each request. Because data is always isolated to your account's hostnames, narrowing to one property simply restricts the result set further.

:::info Account isolation The accountId is enforced from your token (the GroupSid claim). Passing a propertyId you do not own yields no matching hostnames and therefore empty results — there is no way to read another account's data. :::

Date range

A From / To date range (with quick presets) controls the window for every card and chart. The default is the current calendar month in UTC, which lines up with your billing counters. See Date ranges & live mode for the presets, automatic chart granularity, and the realtime Live Mode view.

Summary cards

The cards at the top of the dashboard come from GET /api/monitoring/stats/summary. Each value is computed over the selected range and property.

CardFieldUnit / meaning
Total requeststotalRequestsCount of requests served
Total bytestotalBytesBandwidth in bytes
Cache hit ratecacheHitRatePercentage (%)
Avg response timeavgResponseTimeMilliseconds
Unique visitorsuniqueVisitorsDistinct visitors
4xx errorserrors4xxCount of all 4xx responses
403 errorserrors403Count of 403 responses
404 errorserrors404Count of 404 responses
429 errorserrors429Count of 429 (rate limited) responses
5xx errorserrors5xxCount of all 5xx responses
curl -H "Authorization: Bearer $TOKEN" \
"https://api.paradarum.com/api/monitoring/stats/summary?from=2026-06-01T00:00:00Z&to=2026-06-10T00:00:00Z&propertyId=42"
{
"succeeded": true,
"message": "success",
"data": {
"totalRequests": 1532210,
"totalBytes": 84210334567,
"cacheHitRate": 92.41,
"avgResponseTime": 38.2,
"errors4xx": 1204,
"errors403": 12,
"errors404": 990,
"errors429": 3,
"errors5xx": 27,
"uniqueVisitors": 48211
}
}

:::note 403, 404, and 429 are also inside 4xx The dedicated errors403, errors404, and errors429 counters are subsets of errors4xx, broken out because they are the codes operators most often watch. Do not add them on top of the 4xx total. :::

Chart families

Below the cards, the dashboard groups charts and tables into families. Each is backed by its own /stats/* endpoint and rendered as a chart or top-N table.

FamilyWhat it showsNotable limit
TrafficRequests and bandwidth over time (area chart)Bandwidth in bytes
CacheHits / misses / bypass and hit rate (donut)
CountriesTop countries by hits and bytes (bar)Top 20
DevicesRequests by device type (bar)
TechBrowser and OS breakdown (donuts)Top 10 each
Content typesRequests and bytes by content type (donut)Top 20
Top URIsMost-requested paths (table)Top 20
ErrorsStatus-code / category breakdownTop 20
Upstream performanceOrigin vs total latency over time (line)Latency in ms
Origin vs edgeEdge-served vs origin-served traffic and cache offload
Origin shieldShield-served vs origin traffic and shield offload
Bandwidth savedBytes from cache vs origin and percent savedBytes
Per-PoP trafficTraffic, cache, and errors per PoP region (table)
Top IPsBusiest client IPs (table)Top 50
Top referersTop referring URLs (table)Top 50
SecurityWAF / security events and timeline (table + stacked bar)Top 50

:::tip Top-N is fixed The top-N cutoffs above are set server-side and are not configurable. Countries, errors, top URIs, and content types are capped at 20; IPs, referers, and security events at 50; browsers and OS at 10. :::

For the exact JSON shape of each endpoint, see the API reference.

Reading the units correctly

Units are not uniform across the dashboard. Mixing them up is the most common source of confusion.

:::warning Watch the units

  • Traffic bandwidth values are in bytes.
  • Realtime (Live Mode) bandwidth is in bits per second (bps) — the UI divides by 1e6 to display Mbps.
  • Latency fields (avgResponseTime, upstream latency) are in milliseconds.
  • All timestamps are UTC and serialized with a trailing Z. :::

:::note Same-day numbers can differ slightly Summary and cache queries do not extend the to bound for "today" (to keep the totals stable), while time-series charts add a +2h margin when to falls on the current day. As a result, a same-day summary card and a same-day chart can cover marginally different windows. :::

Where to go next