fastmon Docs
Analytics

NEL reports grouped by one dimension

Fehler melden

The reports of POST /analytics/nel grouped by one dimension.

One row per value with its weighted error_count, its affected_visitors, its share of the weighted reports of the whole answer, and first_seen_at and last_seen_at, the browser's time of its first and latest report in the window. order_by puts the most weighted reports first by default, or the newest group first with last_seen_at, a tie by key. The filters, the weighting, meta.sampling and the limits of the visitor count are those of the aggregate route.

Every key but those of phase, method and protocol, which have no filter, is a filter value that selects its row's reports. page_url groups by the page the failed request was sent from, as stored. Reports without one form a row with an empty key, which filters.page_url cannot select, since an empty value is no filter. The same holds for a request URL without a path, the empty path key and a request_url key without a /. A page_url or path key holding * is read by its filter as a wildcard. host, bot_name and error_type keys go back as one-value lists of the filter of the same name. A stitch key goes back as filters.stitch: [key], a status_code_range key as filters.status_code_range: {gte: key, lte: key}. A request_url key is host and path in one, and splits at its first / into filters.host: [host] and filters.path: path. Reports without a stitch or without an HTTP response form the row with the empty key of these dimensions, which no filter selects.

A site_id row's last_seen_at tells whether a site's NEL header reaches browsers.

Authentifizierung

bearerAuth
headerAuthentifizierungBearer <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.

Pfad-Parameter

org_id*Org Id
Formatuuid

Request-Body

application/json
  1. body

Request for the NEL reports grouped by one dimension.

time_range*

Time range, on the time the browser saw the error

filters?

The filters of POST /analytics/nel, with its 422 for a filter the table cannot answer. A filter on the dimension itself narrows the rows

dimension*NelDimension

The one dimension the rows group by. host is the failed request's host in lowercase, page_url the page it was sent from, phase, method and protocol the report's own, bot_class derived from the edge labels as the filter derives it, nel_class derived from error_type as the filter derives it, the rest the edge labels. browser_version keys mix browsers that share a version number, so pair it with filters.browser, and reports stored before the column existed form one row with an empty key. server_ip is the address of the shop's server the request went to, and the reports without a stored address form one row with an empty key. stitch is the visitor, its key the visitor_id of the report list, and the reports without a stitch form one row with an empty key. status_code_range groups by the status code, its key the code as text, and the reports without an HTTP response form one row with an empty key. bot_name, error_type and path are the report's columns the filters of the same name compare. request_url is the failed request's host and path in one key, shop.example/checkout

Value in"site_id""host""page_url""device_type""browser""os""country""asn""phase""method""protocol""bot_class""browser_version""nel_class""server_ip""stitch""status_code_range""bot_name""request_url""error_type""path"
order_by?

The order of the rows before limit cuts them, most weighted reports first by default. last_seen_at puts the newest group first

limit?Limit

Max rows, in the order_by order

Range1 <= value <= 100
Default50

Response-Body

Successful Response

application/json
  1. response

NEL reports grouped by one dimension.

meta*

Facts about the result. total is the number of values the dimension has in the window, limit the cap on data

request*

The request as the server resolved it

error_count*Error Count

Weighted reports in the window, the rows the limit cut included, which every share is measured against

data*array<>

At most meta.limit rows, in the order_by order

POST
/organizations/{org_id}/analytics/nel/breakdown
curl -X POST 'https://api.fastmon.eu/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/analytics/nel/breakdown' \  -H 'Content-Type: application/json' \  -d '{  "time_range": {    "from": "2019-08-24T14:15:22Z",    "to": "2019-08-24T14:15:22Z"  },  "dimension": "site_id"}'
{  "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"      ]    },    "is_identity_mixed": true,    "stitchless_site_ids": [      "69469e5a-8ce7-4bbc-8031-8525fff71fc6"    ]  },  "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": {}  },  "error_count": 0,  "data": [    {      "key": "string",      "error_count": 0,      "affected_visitors": 0,      "share": 0,      "isp": "string",      "first_seen_at": "2019-08-24T14:15:22Z",      "last_seen_at": "2019-08-24T14:15:22Z"    }  ]}