fastmon Docs
Analytics

Server-Timing panel

Report an issue

Server-Timing dashboard panel: five blocks.

  • cache: cdn / origin cache-status distribution (count per status).
  • cache_age: p50/p75/p95 of the cache age per layer, in SECONDS (the phases are milliseconds), plus the content layer = cdn + origin under a CDN hit, which is the age of what the visitor actually saw.
  • cache_ttl: p50/p75/p95 of the remaining cache lifetime per layer, in SECONDS, cdn and origin only.
  • phases: p50/p75/p95 of the eight backend-phase durations (NULLs skipped), plus count = pageviews reporting the phase, so a percentile over 12 pageviews is distinguishable from one over 50k.
  • top_keys: custom server-timing keys. Timed keys (server_timing_dur) come first, ranked by p75; categorical keys that only ever carried a desc (server_timing_desc, e.g. pop;desc="DE-1331") follow with p75_ms=None and their top values. limit applies to each group, so the block holds at most 2×limit items.

Authorization

bearerAuth
AuthorizationBearer <token>

API token generated from the fastmon dashboard (Account → API Token) or at organization level (fmo_…, one that outlives its creator). Send as Authorization: Bearer fm_... or paste the full token (including its prefix) into the Authorize dialog.

In: header

Path Parameters

org_id*Org Id
Formatuuid

Request Body

application/json

Request for the Server-Timing dashboard panel.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

POST
/organizations/{org_id}/analytics/server-timing
curl -X POST "https://example.com/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/analytics/server-timing" \  -H "Content-Type: application/json" \  -d '{    "time_range": {      "from": "2019-08-24T14:15:22Z",      "to": "2019-08-24T14:15:22Z"    }  }'
{  "meta": {    "execution_time_ms": 0,    "total": 0,    "limit": 0,    "offset": 0,    "has_more": true,    "next_cursor": "string",    "sampling": {      "sampling_rate": 0,      "is_sampled": true,      "estimated_metrics": [        "string"      ]    }  },  "request": {    "time_range": {      "from": "2019-08-24T14:15:22Z",      "to": "2019-08-24T14:15:22Z"    },    "comparison_time_range": {      "from": "2019-08-24T14:15:22Z",      "to": "2019-08-24T14:15:22Z"    },    "granularity": "minute",    "identity": "stitch",    "window_seconds": 0,    "filters": {}  },  "cache": [    {      "layer": "cdn",      "cache_status": "string",      "count": 0    }  ],  "cache_age": [    {      "layer": "cdn",      "count": 0,      "p50_s": 0,      "p75_s": 0,      "p95_s": 0    }  ],  "cache_ttl": [    {      "layer": "cdn",      "count": 0,      "p50_s": 0,      "p75_s": 0,      "p95_s": 0    }  ],  "phases": [    {      "phase": "string",      "count": 0,      "p50_ms": 0,      "p75_ms": 0,      "p95_ms": 0    }  ],  "top_keys": [    {      "key": "string",      "count": 0,      "p75_ms": 0,      "values": [        {          "desc": "string",          "count": 0        }      ]    }  ]}