全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
消息队列 MQ

Topic 写入统计

更新时间:2017-12-15 20:40:47

OnsTrendTopicInputTps 接可以查询一段时间内指定 Topic 的消息写入报表数据。

使用场景

线上环境统计 Topic 的消息数据可以使用该接口获取信息,根据类型可以选择查询指定时间段内 Topic 的写入量或者 TPS 曲线数据。

如果应用方消息量比较小,间隔不均匀,此时采用 TPS 查询可能会导致数据不明显,建议使用总量查询。

请求参数列表

名称 类型 是否必须 描述
OnsRegionId String 当前查询 MQ 所在区域,可以通过 OnsRegionList 方法获取
OnsPlatform String 该请求来源,默认是从 POP 平台
PreventCache Long 用于 CSRF 校验,设置为系统当前时间即可
Topic String 需要查询的 Topic 名称
BeginTime Long 查询区间起始毫秒时间戳
EndTime Long 查询区间终止毫秒时间戳
Period Long 采样周期,单位分钟,支持(1,5,10)
Type Integer 查询的类型(0代表总量,1代表 TPS)

返回参数列表

名称 类型 描述
RequestId String 为公共参数,每个请求独一无二
HelpUrl String 帮助链接
data Data 数据集合

Data 数据集定义

名称 类型 描述
Title String table 的名称
Records List(StatsDataDo) 采集点信息

StatsDataDo 数据集定义

名称 类型 描述
X Long 横轴,毫秒时间戳
Y Float 纵轴,数据(TPS 或者总量)

相关 API

  • OnsTrendGroupOutputTps:查询 CID 的消息消费统计

使用示例


    public static void main(String []args) {
            String regionId = "cn-hangzhou";
            String accessKey = "XXXXXXXXXXXXXXXXX";
            String secretKey = "XXXXXXXXXXXXXXXXX";
            String endPointName ="cn-hangzhou";
            String productName ="Ons";
            String domain ="ons.cn-hangzhou.aliyuncs.com";

            /**
            *根据自己需要访问的区域选择 Region,并设置对应的接入点
            */
            try {
                DefaultProfile.addEndpoint(endPointName,regionId,productName,domain);
            } catch (ClientException e) {
                e.printStackTrace();
            }
            IClientProfile profile= DefaultProfile.getProfile(regionId,accessKey,secretKey);
            IAcsClient iAcsClient= new DefaultAcsClient(profile);
            OnsTrendTopicInputTpsRequest request =new OnsTrendTopicInputTpsRequest();
            request.setOnsRegionId("cn-qingdao-publictest");
            request.setPreventCache(System.currentTimeMillis());
            request.setAcceptFormat(FormatType.JSON);
            request.setTopic("MingduanTestAPI");
            request.setBeginTime(System.currentTimeMillis()-4*3600*1000);
            request.setEndTime(System.currentTimeMillis());
            request.setPeriod(1);
            request.setType(0);
            try {
                OnsTrendTopicInputTpsResponse response =iAcsClient.getAcsResponse(request);
                OnsTrendTopicInputTpsResponse.Data data =response.getData();
                System.out.println(data.getTitle()+"\n"+
                data.getRecords());
            } catch (ClientException e) {
                e.printStackTrace();
            }
        }
本文导读目录