调用QueryMetricByPage接口分页查询前端监控的相关监控指标。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | QueryMetricByPage |
系统规定参数。取值:QueryMetricByPage。 |
IntervalInSec | Integer | 是 | 60000 |
数据片的时间间隔,单位为毫秒,最小值为60000。 |
StartTime | Long | 是 | 1595319532000 |
起始时间的时间戳,精确到毫秒。 |
EndTime | Long | 是 | 1596183532000 |
结束时间的时间戳,精确到毫秒。 |
OrderBy | String | 否 | rpc |
排序依据,可设为任一测量数据。 |
Metric | String | 是 | webstat.index |
需要查询的指标,不可自定义输入,请参见下文可查询的前端监控指标。 |
Order | String | 否 | ASC |
排序标准。取值:
|
RegionId | String | 否 | cn-hangzhou |
地域ID。 |
CurrentPage | Integer | 否 | 1 |
查询结果的页码。非必填参数,如果不填写则默认为 |
PageSize | Integer | 否 | 10 |
查询结果的每页项目数量。 |
Filters.N.Key | String | 否 | pid |
筛选条件组合,必须添加 |
Filters.N.Value | String | 否 | xxx@74xxx |
筛选条件组合,必须添加 |
Dimensions.N | String | 否 | ["detector_browser","detector_device"] |
指标对应的维度,请参见下文可查询的前端监控指标。最多可添加5个。 |
Measures.N | String | 否 | pv |
指标对应的测量数据,请参见下文可查询的前端监控指标。最多可添加5个。 |
CustomFilters.N | String | 否 | ["not rpcType:40","not rpcType:41"] |
自定义过滤条件,多个过滤条件之间使用半角逗号(,)分隔。 |
如何获取前端应用pid
登录ARMS控制台,在控制台左侧导航栏单击 前端监控 ,然后在 前端监控 页面单击目标前端应用名称,以进入该前端应用的总览页面。
此时浏览器地址栏中的URL即包含前端应用的pid,格式为pid=xxx
。由于浏览器进行了编码,前端应用需要对xxx%40xxx
格式的pid稍作修改。例如,如果URL中包含的pid为eb4zdose6v%409781be0f44d****
,则需要将%40
替换为@
,即:eb4zdose6v@9781be0f44d****
。
可查询的前端监控指标
您可以使用QueryMetric接口查询前端监控的以下指标。
- 请求参数Filters必须添加
pid
和regionId
条件。 - 已知具体的查询条件时,应将值传入Filters参数中,用于限定查询结果的范围。如果不知道具体的查询条件,可以将下表中的维度传入dimensions参数,从而获得该维度所有可能值的列表。
指标(Metric) |
描述 |
维度(Dimensions) |
测量数据(Measures) |
---|---|---|---|
webstat.api |
API成功率 |
|
|
webstat.api.detail |
API详情 |
|
|
webstat.apicost |
API成功耗时 |
|
|
webstat.apifailtime |
API失败耗时 |
|
|
webstat.apimsg |
API消息聚类 |
|
count(请求次数) |
webstat.avg |
自定义统计:均值统计 |
|
|
webstat.errcate |
错误聚类排行 |
|
count(错误次数) |
webstat.index |
总览(访问量) |
|
|
webstat.msg.top |
页面高频错误 |
|
|
webstat.perf.bucket |
对应ARMS前端监控控制台的 访问速度 页面上的性能样本分层图。 |
|
|
webstat.perf.distribution |
对应ARMS前端监控控制台的 访问速度 页面上的性能分层图。 |
|
|
webstat.resource |
资源错误排行 |
|
count(资源错误数) |
webstat.resource |
对应ARMS前端监控控制台的 总览 页面的资源弹层。 |
|
count(错误次数) |
webstat.satisfy |
满意度 |
|
|
webstat.session |
慢加载追踪 |
无 |
|
webstat.speed |
访问速度 |
|
|
webstat.stable |
错误率排行 |
|
|
webstat.sum |
自定义统计:求和统计 |
|
|
webstat.url |
访问的URL |
|
|
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
Code | String | 200 |
接口状态,取值说明如下:
|
Message | String | message |
调用失败时返回的信息。 |
RequestId | String | 626037F5-FDEB-45B0-804C-B3C92797**** |
请求ID。 |
Success | Boolean | true |
查询是否成功:
|
Data | Object |
返回结构体。 |
|
PageSize | Integer | 10 |
查询结果的每页项目数量。 |
Total | Integer | 0 |
查询结果的总项目数量。 |
Page | Integer | 1 |
查询结果的页码。 |
Items | Array of Object | [] |
返回数据的数据结构体列表。 |
示例
请求示例
http(s)://[Endpoint]/?Action=QueryMetricByPage
&IntervalInSec=60000
&StartTime=1595319532000
&EndTime=1596183532000
&OrderBy=rpc
&Metric=webstat.index
&Order=ASC
&CurrentPage=1
&PageSize=10
&Filters=[{"Key":"pid","Value":"xxx@74xxx"}]
&Dimensions=["[\"detector_browser\",\"detector_device\"]"]
&Measures=["pv"]
&CustomFilters=["[\"not rpcType:40\",\"not rpcType:41\"]"]
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<QueryMetricByPageResponse>
<Code>200</Code>
<Message>message</Message>
<RequestId>626037F5-FDEB-45B0-804C-B3C92797****</RequestId>
<Success>true</Success>
<Data>
<PageSize>10</PageSize>
<Total>0</Total>
<Page>1</Page>
<Items/>
</Data>
</QueryMetricByPageResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"Code" : 200,
"Message" : "message",
"RequestId" : "626037F5-FDEB-45B0-804C-B3C92797****",
"Success" : true,
"Data" : {
"PageSize" : 10,
"Total" : 0,
"Page" : 1,
"Items" : ""
}
}
常见问题
-
调用时为什么会出现RAM的权限问题?
这可能是由于该RAM角色没有权限,您可以为用户添加权限,请参见借助RAM角色实现跨云账号访问资源。
-
怎么拉取列表数据(不考虑时间粒度)?
将intervalInSec设置为2147483647。
- 为什么返回的数据值都为0?
- 请检查时间间隔是否设置过小,intervalInSec需要大于或等于60,000。
- 请检查regionId是否设置正确,该regionId是根据日志接收的服务端划分的地域,而不是用户所在的地域,您可以根据项目的上报日志地址来区分regionId:
- 华东1(杭州)地域前端监控上报日志地址:
https://arms-retcode.aliyuncs.com/r.png?
。 - 新加坡(新加坡)地域前端监控上报日志地址:
https://arms-retcode-sg.aliyuncs.com/r.png?
。 - 美国(硅谷)地域前端监控上报日志地址:
https://retcode-us-west-1.arms.aliyuncs.com/r.png?
。
- 华东1(杭州)地域前端监控上报日志地址:
- 在调用模拟器或代码接口时为什么会报错?
- 请检查regionId是否已填写,filters中是否已添加pid。
- 查看对应指标的measures或dimensions是否正确,请参见上文可查询的前端监控指标。
- 报错信息以及对应解决方案
- Metric查询错误,请联系管理员。
- 请检查Metric字段是否正确。
- 请检查measures或dimensions是否正确。
- 请检查filters中是否已添加pid。
-
InvalidIntervalInSec
请检查intervalInSec是否超过最大值(2147483647)。
-
MissingMeasures
请检查measures是否已填写。
- NonsequenceParameter.Dimensions
- 请检查dimensions是否已填写正确。
- 请检查模拟器dimensions是否有多余的空格。
-
ServiceUnavailable
请检查regionId是否正确。
-
前端监控地域不合法
请检查regionId是否设置正确,该regionId是根据日志接收的服务端划分的地域,而不是用户所在的地域,您可以根据项目的上报日志地址来区分regionId:
- 华东1(杭州)地域前端监控上报日志地址:
https://arms-retcode.aliyuncs.com/r.png?
。 - 新加坡(新加坡)地域前端监控上报日志地址:
https://arms-retcode-sg.aliyuncs.com/r.png?
。 - 美国(硅谷)地域前端监控上报日志地址:
https://retcode-us-west-1.arms.aliyuncs.com/r.png?
。
- 华东1(杭州)地域前端监控上报日志地址:
- Metric查询错误,请联系管理员。
-
为什么数据集中会缺失一些 measures或dimensions参数?
因为最多可设置5个measures和dimensions,如果超过5个,将导致参数无法返回。
-
为什么一些指标的总数在聚合后明显少于未聚合时?例如:webstat.index聚合后求和的pv总数比未聚合时得到的pv总数少。
因为POP网关的限制,超出10,000条的数据将被去除,所以当聚合造成数据量超过限制时,返回的数据量比实际的量小,因此指标求和的总数会明显减少。您需要将每次请求后返回的数据量控制在10,000条以内,以获得准确的数据。