前端监控数据说明

本文介绍了ARMS前端监控基于SLS存储的日志字段含义,用于复杂情况下的查询需求。

指标类型字段t

t的值说明
apiAPI类型。
pvPV类型,主要计算PV、UV等指标。
perf页面性能情况。
health页面健康度。
speed自定义测速上报,测速关键字,取值范围为s0~s10。
behavior当异常出现后上报用户行为。
errorJS错误。
resourceError资源错误。
sum主动上报统计总和。
avg主动上报统计平均值。
custom自定义上报接口,所有字段不能超过20个字符,上报时会自动在字段前加上x-的前缀。

公共字段

字段类型示例说明
beginnumber1626320736212客户端日志发生时间的时间戳。
ctstring4g网络类型。
datenumber1626320736212一般等于begin,如果没有begin,以服务端时间为准。
detector_browserstringsafari浏览器类型。
detector_browser_versionstring14.1.1浏览器版本。
detector_devicestringmac设备类型。
detector_enginestringwebkit浏览器引擎。
detector_engine_versionstring605.1.15浏览器引擎版本。
detector_osstringmacos操作系统。
detector_os_versionstring10.15.7操作系统版本。
detector_typestringpc设备类型。
environmentstringprod环境。
http_refererstringhttps://example.com/页面Referer。
http_user_agentstringMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Safari/605.1.15浏览器UserAgent。
ip_citystring北京市城市名称。
ip_city_idstring110100城市ID。
ip_countrystring中国国家名称。
ip_country_idstringCN国家ID。
ip_ispstring联通运营商。
ip_regionstring北京市省级行政区。
ip_region_idstring110000省级行政区ID。
pagestringtesting页面。
pv_idstringbkkRsrej4OFdv2d4yeb37Xb2R2XpPV ID。
releasestring2.0.123客户端版本。
remote_addrstring111.198.XX.XX客户端IP地址。
sample_apinumber4API采样率。
sample_healthnumber3Health采样率。
sample_pvnumber3PV采样率。
sample_resourceErrornumber100ResourceError采样率。
samplingnumber100全局采样率。
sidstringkCk83rFv40Caz06y3pv******Session ID。
srstring1280x800屏幕分辨率。
srcstringhttps://example.com被监控目标地址。
tstringresourceError不同类型的日志。
timesnumber100发生相似事件的次数。
uidstring94kUgryg4thaLg61ep5******用户ID。
vpstring1280x677页面大小。
xpathstringhtml.is-safari.is-desktop.is-mac > head. > script.Node路径。
zstringkr4dde7g防止缓存。
说明 实际存储表中还存在以下划线(_)开头的字段(如:_line_v_target),这些字段是一些辅助字段,产生于数据流处理过程,用于辅助计算,与实际业务无关,无需关注。

API(t: api)

上报数据示例:
t: api
times: 1
page: tracing/list/cn-hangzhou
tag:
release:
environment: prod
begin: 1638178731302
api: /api/trace.json
success: 1
time: 63
code: 200
msg: success
traceId: 7eb784eb16381787313011******
pv_id: 7ekzzwImkbyhU5bIeiX0v9******
domain: arms.console.aliyun.com
flag: 1
sr: 1680x1050
vp: 1628x946
ct: 4g
uid: xxx
sid: F9kb7w53kFzg1vcb34vndj17qgOd
pid: xxx@xxx
_v: 2.0.0
sampling: 1
dl: https://arms.console.aliyun.com/#/tracing/list/cn-hangzhou
z: kwkgc3er
post_res:
字段类型示例说明
pagestringtracing/list/cn-hangzhouAPI请求所处页面地址。
apistring/api/trace.jsonAPI地址。
successnumber1请求是否成功。
  • 1:成功
  • 0:失败
timenumber63API耗时,单位为ms。
codestring200请求返回状态码。
msgstringsuccess返回的消息体。
traceIdstring7eb784eb16381787313011******跟随该API上报的Trace ID。
pv_idstring7ekzzwImkbyhU5bIeiX0v9******当前请求所属PV ID。

PV(t: pv)

上报数据示例:
t: pv
times: 1
page: tracing/callChains/cn-hangzhou
tag:
release:
environment: prod
begin: 1638179112949
uid: xxx
dt: 应用实时监控服务ARMS
dr:
dpr: 1.00
de: utf-8
ul: zh
sr: 1680x1050
vp: 1628x946
ct: 4g
sid: F9kb7w53kFzg1vcb34vnd******
pid: xxx@xxx
_v: 2.0.0
pv_id: Rhksdwe1kFLhhXjwqp159******
sampling: 1
dl: https://arms.console.aliyun.com/#/tracing/callChains/cn-hangzhou
z: kwkgc3f9
字段类型示例说明
pv_idstringRhksdwe1kFLhhXjwqp159******PV ID。
dtstring应用实时监控服务ARMS页面标题。
drstringhttps://example.com文档Referrer。
dprnumber1.00屏幕像素比。
destringutf-8文档编码类型。
ulstringzh文档语言。
dlstringhttps://arms.console.aliyun.com/#/tracing/callChains/cn-hangzhou页面链接。

Health(t: health)

上报数据示例:
t: health
times: 1
page: tracing/callChains/cn-hangzhou
tag:
release:
environment: prod
begin: 1638178731334
errcount: 0
apisucc: 42
apifail: 0
healthy: 1
stay: 1647744
sr: 1680x1050
vp: 1628x946
ct: 4g
uid: xxx
sid: F9kb7w53kFzg1vcb34vndj******
pid: xxx@xxxx
_v: 2.0.0
pv_id: Iakvsw01ktagjzcpz773g******
sampling: 1
z: kwkgc3ep
字段类型示例说明
errcountnumber0错误数。
apisuccnumber42API调用成功数。
apifailnumber0API调用失败数。
healthynumber1是否健康。
  • 1:健康
  • 0:不健康
staynumber1647744页面停留时间。

为了防止页面停留时间过短,此处存在stay ≥ 2000的限制,逻辑与PV上报保持一致。因此,如果不停地切换页面,Health日志中的API数据会比实际的数据少。

Perf(t: perf)

上报数据示例:
t: perf
times: 1
page: arms.console.aliyun.com
tag:
release:
environment: prod
begin: 1638183632694
dns: 12
tcp: 17
ssl: 14
ttfb: 426
trans: 3
dom: 1760
res: 1466
firstbyte: 455
fpt: 479
tti: 2239
ready: 2243
load: 3709
ct: 4g
bandwidth: 10
navtype: Reload
fmp: 4374
autoSend: true
sr: 2560x1440
vp: 1293x1336
uid: xxx
sid: F9kb7w53kFzg1vcb34vndj******
pid: xxx@xxx
_v: 2.0.0
pv_id: CskRtw6hkFnk5j8FvjR0i******
sampling: 1
z: kwkk8jit
说明 业务字段t1-t10ctticfpt只在perf情况下出现,用于手动上报自定义性能数据。
字段类型示例说明
dnsnumber12DNS连接耗时。
tcpnumber17TCP连接耗时。
sslnumber14SSL连接耗时。
ttfbnumber426网络请求耗时。等待接收响应的第一个字节所花费的时间。
transnumber3数据传输耗时。
domnumber1760DOM解析耗时。
resnumber1466资源加载耗时。
firstbytenumber455First Byte时间。
fptnumber479首次渲染时间。
ttinumber2239首次可操作时间。
readynumber2243HTML加载完成时间,即DOM Ready时间。
loadnumber3709从开始加载到完全加载时间。
navtypestringReload页面加载方式。
  • Reload
  • Other
fmpnumber4374首次有效绘制时间。

Behavior(t: behavior)

上报数据示例:
t: behavior
times: 1
page: arms.console.aliyun.com%2Fapm
tag:
release:
environment: prod
begin: 1638184741074
sr: 2560x1440
vp: 1293x1336
ct: 4g
uid: xxx
sid: X3kz5wR9ka8kIws06yIwse******
pid: xxx%40xxx
_v: 1.8.30
pv_id: shkRqwIpkLak92ttv8ne6******
sampling: 1
z: kwkkt89j 

requestBody:
{
    "behavior": [
        {
            "type": "ui.click",
            "data": {
                "message": "div%23.next-menu-item-inner%20%3E%20span%23.next-menu-item-text%20%3E%20a%23."
            },
            "timestamp": 1638184607432,
            "page": "/apm"
        },
        {
            "type": "navigation",
            "data": {
                "from": "https://arms.console.aliyun.com/apm?pid=xxx%40xxx&regionId=cn-hangzhou#/aokcdqn3ly@4a331e0c0dcbd46/home",
                "to": "https://arms.console.aliyun.com/apm?pid=xxx%40xxx&regionId=cn-hangzhou#/aokcdqn3ly@4a331e0c0dcbd46/timedTask"
            },
            "timestamp": 1638184607433,
            "page": "/apm"
        },
        {
            "type": "ui.click",
            "data": {
                "message": "ul%23.next-tabs-nav%20%3E%20li%23.next-tabs-tab%20%3E%20div%23.next-tabs-tab-inner"
            },
            "timestamp": 1638184617802,
            "page": "/apm"
        },
        {
            "type": "navigation",
            "data": {
                "from": "https://arms.console.aliyun.com/apm?pid=xxx%40xxx&regionId=cn-hangzhou#/aokcdqn3ly@4a331e0c0dcbd46/timedTask",
                "to": "https://arms.console.aliyun.com/apm?pid=xxx%40xxx&regionId=cn-hangzhou#/aokcdqn3ly@4a331e0c0dcbd46/timedTask/{%22tabs%22:%22iss%22}"
            },
            "timestamp": 1638184617804,
            "page": "/apm"
        },
        {
            "type": "ui.click",
            "data": {
                "message": "ul%23.next-tabs-nav%20%3E%20li%23.next-tabs-tab%20%3E%20div%23.next-tabs-tab-inner%20%3E%20span%23."
            },
            "timestamp": 1638184619991,
            "page": "/apm"
        }
    ]
}

Error(t: error)

上报数据示例:
t: error
times: 1
page: 8880/demo/index.html
tag:
release:
environment: prod
begin: 1638185189365
cate: ReferenceError
msg: unknownmethod333 is not defined
stack: ReferenceError: unknownmethod333 is not defined
    at http://local.taobao.com:8880/demo/fetch-demo.js:278:9
file: http://local.taobao.com:8880/demo/fetch-demo.js
line: 278
col: 9
sr: 2560x1440
vp: 1293x1336
ct: 4g
uid: xxx
sid: wek9kwC2e28us2xnm99F5******
pid: xxx@xxx
_v: 1.8.31
pv_id: RgkFyw9zk67l995pnwI5x5******
sampling: 1
dl: http://local.taobao.com:8880/demo/index.html
z: kwkl5wxv
post_res:

requestBody
{
    "err": {
        "msg_raw": "unknownmethod333%20is%20not%20defined",
        "stack_raw": "ReferenceError%3A%20unknownmethod333%20is%20not%20defined%0A%20%20%20%20at%20http%3A%2F%2Flocal.taobao.com%3A8880%2Fdemo%2Ffetch-demo.js%3A278%3A9"
    }
}
字段类型示例说明
catestringReferenceError错误名称,默认为CustomError。
msgstringunknownmethod333 is not defined错误消息,最大支持1000个字符。
stackstringReferenceError: unknownmethod333 is not defined at http://local.taobao.com:8880/demo/fetch-demo.js:278:9错误堆栈信息,最大支持1000个字符。
filestringhttp://local.taobao.com:8880/demo/fetch-demo.js报错JS所属文件。
linenumber278报错发生行。
colnumber9报错发生列。
errstring{ "msg_raw": "unknownmethod333%20is%20not%20defined", "stack_raw": "ReferenceError%3A%20unknownmethod333%20is%20not%20defined%0A%20%20%20%20at%20http%3A%2F%2Flocal.taobao.com%3A8880%2Fdemo%2Ffetch-demo.js%3A278%3A9" }错误详情。

ResourceError(t: resourceError)

上报数据示例:
t: resourceError
times: 1
page: 8880/demo/index.html
tag:
release:
environment: prod
begin: 1638185188224
src: http://example/unknown/picture.jpg
node_name: img
xpath: html. > body. > img.
res_type: img
res_name: /unknown/picture.jpg
domain: example
sr: 2560x1440
vp: 1293x1336
ct: 4g
uid: 5kk0Ou0mpadgbp421iXhr******
sid: wek9kwC2e28us2xnm99F5******
pid: xxx@xxx
_v: 1.8.31
pv_id: RgkFyw9zk67l995pnwI5x******
sampling: 1
z: kwkl5wxm
字段类型示例说明
srcstringhttp://example/unknown/picture.jpg资源地址。
node_namestringimg发生错误的HTML类型。
xpathstringhtml. > body. > img.发生错误位置。
res_typestringimg错误资源类型。
res_namestring/unknown/picture.jpg错误资源名称。
domainstringexample错误资源域名。

Sum(t: sum)& Avg(t: avg)& Percent(t: percent)

上报数据示例:
t: sum
times: 1
page: tracing/callChains/cn-hangzhou
tag:
release:
environment: prod
begin: 1638178731104
key: 应用列表
val: 1
group: ARMS2_NavItemClick
sr: 1680x1050
vp: 1628x946
ct: 4g
uid: xxx
sid: F9kb7w53kFzg1vcb34vndj******
pid: xxx@xxx
_v: 2.0.0
pv_id: Iakvsw01ktagjzcpz773g8******
sampling: 1
z: kwkgc3eo
字段类型示例说明
keystring应用列表事件名,如果需要分组,可使用两个半角冒号(::)分隔。

可上报的Object:

  • __bl.sum('eventA')
  • __bl.sum('eventB', 2)
  • __bl.sum('groupX::eventC')
valnumber1Sum、Avg或Percent的值。
groupstringARMS2_NavItemClickSum、Avg或Percent分组。

Custom(t: custom)

自定义上报接口,所有字段不能超过20个字符,上报时会自动在字段前加上x-的前缀。

上报数据示例:
t: custom
times: 1
page: local.taobao.com:8880/demo/index.html
tag:
release:
environment: prod
begin: 1638185189340
x-msg: testcreateInstance222 is ok
sr: 2560x1440
vp: 1293x1336
ct: 4g
uid: xxx
sid: wek9kwC2e28us2xnm99F5w******
pid: xxx@xxx
_v: 1.8.31
pv_id: 99ktyw7akk0lIO565xXCw******
sampling: 1
z: kwkl5wxr