Page analysis
POST /page/list
Request parameter | Type | Required parameter | Description |
---|---|---|---|
mpId | Number | Yes | Mini program id |
timePeriod | Number | No | Parameter default is 30 minutes |
endTime | String | No | End time format yyyy-MM-dd HH:mm For example (2018-02-07 17:39) |
orderBy | String | No | Sorting indicator name, indicator name see list |
orderType | String | No | asc: positive order, desc: reverse order. If not passed, default (positive order) |
Return result:
[
{
"path": "/page/index/index",
"alias": "homePage",
"pv": 100,
"uv": 100,
"onReady": 800,
"firstResponse": 800,
"responseTime": 800,
"netErrorRate": 15,
"jsErrorRate": 10,
"applicationServerTime": 1,
"firstLoadTime": 111,
"stuckRate": 10,
"exQuitRate": 30,
"focus": false // is it a key page
},
...
]
Page analysis details
Page performance trend chart
POST /chart/page-performance
Description:
Get page performance indicator chart, indicator list: UV, PV, onReady, first response, Loading time
Request parameter | Type | Required parameter | Description |
---|---|---|---|
mpId | Number | Yes | Mini program id |
path | String | Yes | Page routing path |
timePeriod | Number | No | Parameter default is 30 minutes |
endTime | String | No | End time format yyyy-MM-dd HH:mm For example (2018-02-07 17:39) |
quantile | Number | No | Quantile value (50, 75, 95, 99), do not pass the average value |
Return result: (Figure public return result)
Network request trend chart
POST /chart/net-request-trend
Description:
Get the network performance indicator chart under the page, indicator list: number of requests, number of slow requests, number of error requests, Request time, server time
Request parameter | Type | Required parameter | Description |
---|---|---|---|
mpId | Number | Yes | Mini program id |
path | String | Yes | Page routing path |
timePeriod | Number | No | Parameter default is 30 minutes |
endTime | String | No | End time format yyyy-MM-dd HH:mm For example (2018-02-07 17:39) |
quantile | Number | No | Quantile value (50, 75, 95, 99), do not pass the average value |
Return result: Highcharts chart general return result
Stuck rate trend chart
POST /chart/stuck-performance
Description:
Get the stuck performance under the page, the horizontal axis indicator list on the chart: PV, stuck PV, stuck rate. Mean indicator: average jam rate
Request parameter | Type | Required parameter | Description |
---|---|---|---|
mpId | Number | Yes | Mini program id |
path | String | Yes | Page routing path |
timePeriod | Number | No | Parameter default is 30 minutes |
endTime | String | No | End time format yyyy-MM-dd HH:mm For example (2018-02-07 17:39) |
quantile | Number | No | Quantile value (50, 75, 95, 99), do not pass the average value |
Return result:
{
"overview": {
"aggregateValue": 50 // Average jam rate, need to check the average jam rate of the entire time period
},
// The following is the public return result of the chart
"series": [...],
"yAxis": [...]
}
Time distribution
onReady:
POST /chart/page-distribution-on-ready
First response:
POST /chart/page-distribution-first-response
Network response time:
POST /chart/page-distribution-response-time
Server response time:
POST /chart/page-distribution-application-server-time
setData frequency:
POST /chart/page-distribution-setdata-fr
setData time:
POST /chart/page-distribution-setdata-time
Request concurrency:
POST /chart/page-distribution-request-fr
Load time:
POST /chart/page-distribution-first-load-time
Description:
Get the histogram distribution of page performance indicators
Request parameter | Type | Required parameter | Description |
---|---|---|---|
mpId | Number | Yes | Mini program id |
path | String | Yes | Page routing path |
timePeriod | Number | No | Parameter default is 30 minutes |
endTime | String | No | End time format yyyy-MM-dd HH:mm For example (2018-02-07 17:39) |
Return result:
{
"series": [
{
"name": "Proportion",
"unit": "%",
"data": [
0.00,
0.00,
0.00,
33.33,
0.00,
33.33,
33.33,
0.00
]
},
{
"name": "number of times",
"unit": "",
"data": [
0,
0,
0,
1,
0,
1,
1,
0
]
}
]
}
Map component
Reference application map component
Additional parameters:
Request parameter | Type | Required parameter | Description |
---|---|---|---|
path | String | No | Page name |
Page exit rate trend chart
POST /chart/ex-quit-performance
Description:
Indicators: Page abnormality rate, abnormal exit rate, total exit rate
Request parameter | Type | Required parameter | Description |
---|---|---|---|
mpId | Number | Yes | Mini program id |
path | String | Yes | Page routing path |
timePeriod | Number | No | Parameter defaults to 30 minutes |
endTime | String | No | End time format yyyy-MM-dd HH:mm For example (2018-02-07 17:39) |
Return result: (Figure common return results)
JS error rate graph
POST /chart/jserror-rate
Description:
Get page performance index graph
Request parameter | Type | Required parameter | Description |
---|---|---|---|
mpId | Number | Yes | Mini program id |
path | String | No | Page routing path |
timePeriod | Number | No | Parameter default is 30 minutes |
endTime | String | No | Deadline format yyyy-MM-dd HH:mm For example (2018-02-07 17:39) |
Return results: (Figure common return results)
TOP5 WeChat version JS error rate curve graph
POST /chart/wechart-jserror-rate
Description:
Get page performance indicator chart
Request parameter | Type | Required parameter | Description |
---|---|---|---|
mpId | Number | Yes | Mini program id |
path | String | No | Page routing path |
timePeriod | Number | No | Parameter default is 30 minutes |
endTime | String | No | End time format yyyy-MM-dd HH:mm For example (2018-02-07 17:39) |
Return result: (Figure general return result)
Slow page ratio chart
POST /chart/slow-page-pv
Description:
Get page performance indicator graph
Request parameter | Type | Required parameter | Description |
---|---|---|---|
mpId | Number | Yes | Mini program id |
path | String | No | Page routing path |
timePeriod | Number | No | Parameter default is 30 minutes |
endTime | String | No | End time format yyyy-MM-dd HH:mm For example (2018-02-07 17:39) |
Return result: Highcharts chart general return result
Exception tracking
TOP5 dimension indicator pie chart
POST /page/pie
Description:
Query the proportion of
slow page count
indicator according to the dimension. Call this interface once for each pie chart. Note that if the top5 accounts for less than 100%, you need to return an additional data item namedOther
, The data value is the total minus the sum of top5
dimension option list:
Name | dimension |
---|---|
Network type | networkType |
WeChat version | wechatVersion |
Region and operator | regionId,carrierId |
System version | system |
Device | deviceType |
Mini program sdk version | sdkVersion |
Request parameters:
Request parameters | Type | Required parameters | Description |
---|---|---|---|
mpId | Number | Yes | Mini program id |
dimensionType | String | Yes | Dimension key, distinguish pie chart type, refer to dimension option list |
timePeriod | Number | No | Parameter default is 30 minutes |
endTime | String | No | End time format yyyy-MM-dd HH:mm For example (2018-02-07 17:39) |
path | String | No | Page routing path |
statusFilter | String | Yes | Exception type, separated by , , for example, when all exception states are selected: slow,netError,jsError,stuck , which respectively represent slow page, network error, js error, stuck |
Return result:
[
{
"name": "2G",
"value": 1,
"dimension": {
"networkType": "2G"
}
},
...
{
"name": "Other", // Data records other than top5, no dimension item
"value": 10
}
]
Slow page list
POST /abnormal/slowpage/list
Note: Request Content-Type: application/json
Request example:
{
"timePeriod": 30,
"endTime": "",
"mpId": 111,
"path": "xxx",
"statusFilter": "slow,netError,jsError", // reference pie chart
"filter": [
{
"dimension": "ip",
"values": ["192.168.1.100", "192.168.1.111"],
"searchValue": "192.168.1"
},
{
"dimension": "regionId,carrierId",
"values": ["4811,12000", "4811,12000"]
}
...
]
}
Return data:
[
{
"id": "32f5b6dd68a14eab9356a69b4d73ea9b", // traceId
"timestamp": "2018-11-07 10:07",
"mpId": 7771,
"ip": "192.168.254.102",
"uid": "97bee32c-b7fa-4dc5-9ec5-2498ce08dc4e",
"sid": "199d5ceb-f110-4851-9ed3-80c7532be915",
"firstResponseTime": 20128,
"region": "未知",
"city": "未知",
"carrier": "未知",
"wechatVersion": "Firefox 63.0",
"system": "Android", // Operating system
"deviceType": "Nexus5", // Phone model
"firstLoadTime" : 2000 // Fisrt load
},
...
]
Error request list
POST /abnormal/errorrequest/list
Request parameters:
Request parameter | Type | Required parameter | Description |
---|---|---|---|
mpId | Number | Yes | Mini program id |
timePeriod | Number | No | Parameter default is 30 minutes |
endTime | String | No | End time format yyyy-MM-dd HH:mm For example (2018-02-07 17:39) |
path | String | No | Page routing path |
serverTrace | boolean | No | Whether to query only data with servertrace, otherwise do not pass this parameter |
Return data:
[
{
"host": "10.128.1.42",
"uri": "/browser/list",
"timestamp": "2018-11-07 10:07",
"status": 421, // http status code
"trace": false, // Is there a trace
"failMessage": "xxxx",
"serverId": 100, //server Application Id
"serverTraceId": "xxdjsodjoisdjo" //server traceId
},
...
]
Slow request list
POST /abnormal/slowrequest/list
Request parameters:
Request parameter | Type | Required parameter | Description |
---|---|---|---|
mpId | Number | Yes | Mini program id |
timePeriod | Number | No | The parameter is 30 minutes by default |
endTime | String | No | End time format yyyy-MM-dd HH:mm For example (2018-02-07 17:39) |
path | String | No | Page routing path |
serverTrace | boolean | No | Whether to query only data with servertrace, otherwise do not pass this parameter |
minDuration | Number | No | Search for minimum response time |
maxDuration | Number | No | Search for maximum response time |
Return data:
[
{
"host": "10.128.1.42",
"uri": "/browser/list",
"timestamp": "2018-11-07 10:07",
"responseTime": 27106,
"applicationServerTime": 8164,
"bytesSent": 22503,
"bytesReceived": 12212,
"status": 408,
"trace": true,
"serverId": 100,
"serverTraceId": "xxdjsodjoisdjo"
},
...
]
Slow page details
Slow page details data
POST /abnormal/slowpage/detail
Request parameters:
Request parameters | Type | Required parameters | Description |
---|---|---|---|
mpId | Number | Yes | Mini program id |
timePeriod | Number | Yes | Parameter default is 30 minutes |
endTime | String | Yes | End time format yyyy-MM-dd HH:mm For example (2018-02-07 17:39) |
traceId | String | Yes | Page traceId |
Return data:
{
"header": {
"traceTime": "2019-11-26 14:00",
"path": "pages/index/index",
"totalLoadTime": null,
"width": "360",
"height": "518",
"system": "Android 5.0",
"deviceType": "Nexus 5",
"wechatVersion": "7.0.4",
"ip": "192.168.5.149",
"region": "unknown",
"city": "unknown",
"networkType": "wifi",
"carrier": "unknown",
"firstResponse": 4261,
"responseTime": 1536,
"applicationServerTime": 0,
"onReady": 3076,
"customTime": 3021,
"v": null,
"ua": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Mobile Safari/537.36 wechatdevtools/1.02.1910120 MicroMessenger/7.0.4 webview/",
"pageEvent": {
"onHide": 1574748040507,
"onLoad": 1574748020897,
"onReady": 1574748023973,
"onShow": 1574748021416,
"onUnload": 0
},
"routeTrack": [
{
"timestamp": 1574748021416,
"route": "pages/index/index"
}
],
"metric": {
"jsError": true,
"netError": false,
"stuck": false,
"firstLoad": 6114
}
},
"waterFall": {
"domains": [
"reportalpha1.tingyun.com"
],
"items": [
{
"timestamp": "2019-11-26 14:00",
"name": "/demo-server/test/custom-request",
"timeOffset": 3080,
"type": "network",
"id": "fe0f64664ebf41b0ac696e549ea1ccb6",
"trace": true,
"host": "reportalpha1.tingyun.com",
"uri": "/demo-server/test/custom-request",
"url": "https://reportalpha1.tingyun.com/demo-server/test/custom-request?timeout=1000",
"httpCode": "200",
"applicationId": "0",
"instanceId": "0",
"serverId": "0",
"responseTime": 1181,
"applicationServerTime": 0,
"bytesSent": 0.0,
"bytesReceived": 0.012,
"start": 1574748023977,
"end": 1574748025158,
"netCount": 1,
"callbackTime": 4,
"requestMethod": "GET",
"serverTrace": false,
"serverTraceTime": 0,
"server": false,
"failMessage": "",
"requestId": 2,
"compareValue": 3080
},
{
"timestamp": "2019-11-26 14:00",
"name": "/demo-server/test/custom-request",
"timeOffset": 3087,
"type": "network",
"id": "8ce9ccfb8032484daa71be73682195c1",
"trace": true,
"host": "reportalpha1.tingyun.com",
"uri": "/demo-server/test/custom-request",
"url": "https://reportalpha1.tingyun.com/demo-server/test/custom-request?timeout=2000",
"httpCode": "200",
"applicationId": "0",
"instanceId": "0",
"serverId": "0",
"responseTime": 3006,
"applicationServerTime": 0,
"bytesSent": 0.0,
"bytesReceived": 0.012,
"start": 1574748023984,
"end": 1574748026990,
"netCount": 1,
"callbackTime": 1,
"requestMethod": "GET",
"serverTrace": false,
"serverTraceTime": 0,
"server": false,
"failMessage": "",
"requestId": 3,
"compareValue": 3087
},
{
"timestamp": "2019-11-26 14:00",
"timeOffset": 3106,
"type": "jserror",
"id": "XpFMpm4Bw-wCxOz_SUve",
"agentVersion": "1.3.6",
"applicationId": 0,
"carrierId": 0,
"cityId": 0,
"countryId": 0,
"instanceId": 0,
"mpId": 2065,
"errorMessage": "Random js error",
"ip": "192.168.5.149",
"deviceType": "Nexus 5",
"messageType": "JSERROR",
"networkType": "wifi",
"msgErrorPv": 1,
"occurTime": 1574748024003,
"openPath": "pages/index/index",
"path": "pages/index/index",
"pageTraceId": "5de76fa1a59e474d9dd1524a40ac8540",
"regionId": 0,
"sid": "68c6de32-d274-4db4-b28c-66e0e86d4a58",
"uid": "5847de28-2b35-4d6e-b977-ff54a685c7d4",
"scene": "1001",
"system": "Android 5.0",
"wechatVersion": "7.0.4",
"trace": false,
"traceData": {
"colno": 0,
"filename": null,
"msg": null,
"stack": "thirdScriptError\nRandom js error;at \"pages/index/index\" page lifeCycleMethod onShow function\nError: Random js error\n at _e.onShow (http://127.0.0.1:13201/appservice/pages/index/index.js:99:13)\n at _e.onShow (http://127.0.0.1:13201/appservice/agent/bundle.js:75:31)\n at _e.<anonymous> (http://127.0.0.1:13201/appservice/__dev__/WAService.js:1:1531191)\n at _e.p.__callPageLifeTime__ (http://127.0.0.1:13201/appservice/__dev__/WAService.js:1:1530936)\n at Tt (http://127.0.0.1:13201/appservice/__dev__/WAService.js:1:1546361)\n at http://127.0.0.1:13201/appservice/__dev__/WAService.js:1:1549664\n at xt (http://127.0.0.1:13201/appservice/__dev__/WAService.js:1:1550157)\n at Function.<anonymous> (http://127.0.0.1:13201/appservice/__dev__/WAService.js:1:1553690)\n at i.<anonymous> (http://127.0.0.1:13201/appservice/__dev__/WAService.js:1:1522455)\n at i.emit (http://127.0.0.1:13201/appservice/__dev__/WAService.js:1:551893)",
"ua": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Mobile Safari/537.36 wechatdevtools/1.02.1910120 MicroMessenger/7.0.4 webview/",
"lineno": 0,
"time": 1574748024003,
"onShow": null,
"onUnload": null,
"screenHeight": "640",
"screenWidth": "360",
"windowHeight": "518",
"windowWidth": "360",
"sdkVersion": "2.9.3"
},
"compareValue": 3106
}
],
"timeSpan": 6114
},
"setData": {
"max": 49,
"threshold": 1000,
"data": [
{
"timestamp": 1574748025158,
"count": 1,
"grade": {
"good": {
"count": 0
},
"normal": {
"count": 0
},
"bad": {
"count": 1
}
},
"traces": []
},
{
"timestamp": 1574748026990,
"count": 1,
"grade": {
"good": {
"count": 0
},
"normal": {
"count": 0
},
"bad": {
"count": 1
}
},
"traces": []
}
],
"setDataTimeInterval": [
1,
3
],
"setDataTrace": true,
"setDataTraceHint": true,
"requestBridge": [
{
"start": 1574748025158,
"end": 1574748025207,
"requestId": 2,
"url": "https://reportalpha1.tingyun.com/demo-server/test/custom-request?timeout=1000"
},
{
"start": 1574748026990,
"end": 1574748027011,
"requestId": 3,
"url": "https://reportalpha1.tingyun.com/demo-server/test/custom-request?timeout=2000"
}
]
}
}
List of recent slow pages
POST /abnormal/slowpage/recent-list
Request parameters:
Request parameters | Type | Required parameters | Description |
---|---|---|---|
mpId | Number | Yes | Mini program id |
timePeriod | Number | No | Parameter default is 30 minutes |
endTime | String | No | End time format yyyy-MM-dd HH:mm For example (2018-02-07 17:39) |
limit | Number | No | By default check the first 20 trace records in reverse order by time |
[
{
"traceId": "f758c228c1e148ef8f6e792e1cd91fbf",
"timestamp": "2018-11-12 16:01"
}
]