当前位置: 首页 > 科技观察

TradingGoldenLinkApollo手机端异常监控系统

时间:2023-03-11 20:16:47 科技观察

概述01业务背景及用途一般异常数据上报仅支持根据接口状态码是否异常进行简单上报。对于一些核心字段,传递值的缺失导致崩溃异常无法更精细地定位。为此,ApolloMobile设计了这款业务异常监控sdk,让前后端可以快速协同定位问题,及时监控捕捉异常。智能处理和上报接口异常,通过制定一套完整的流程来实现:接口异常可以很方便的捕获并上报给后台,这期间不需要开发,只需要一些基础配置和异常接口的信息参数(请求参数、用户手机环境、返回参数等)完整捕获并在后台可见,帮助开发者复现和解决问题。数据针对特定机型、用户、时间段进行针对性下发监控02提供能力sdk工作流和配置规范01工作流通过配置平台上的配置组合实现异常捕获功能:首先配置一个接口开关规范,开关规范是为了让这个过程更加灵活,可以根据接口开启是否上报异常的功能;第二个配置是定向监控规范,通过配置你要监控的参数获取满足条件的全量数据。;第三个配置是接口规则配置规范,由于每个接口的数据完全不同,根据这套接口配置规范,开发者可以根据接口配置需要校验的关键节点、数据类型等信息。开发者按照规范完成配置后,将接口数据相关信息(入参、出参)传递给系统提供的接口。该系统将通过标准化分析和接口数据进行双重验证。如果验证后发现异常,会上报,同时抓取当前用户环境,如模型、系统模型等,一并上报。最后,开发者可以在上报后台看到异常信息,并根据综合信息参数排查和解决问题。02流程图验证异常的主要流程如下:03配置说明1.开关配置说明:总开关配置:一键关闭所有接口。接口开关配置:每个接口都可以单独配置为启用或禁用。2.异常验证配置规范:整体配置为json格式,方便解析传输。要验证数据类型,请使用type关键字。如果您需要验证数据的值,请使用value关键字。如果有值,则对该值进行强验证。如果存在层次验证关系,则使用subItems关键字来显示数据结构的层次关系。规则中的关键字具体解释如下:在配置后台完成接口开关和接口规则的配置后,开发者需要在调用接口完成的代码中调用本方案提供的API,以及传入接口入参和接口Out引用。3、在上述功能的基础上,可根据需要增加<定向监控>判断能力。在手机配置中配置定向过滤规范{"osVersion":"14.4/Android11",//系统版本"pin":"xxxxxx",//用户标识"functionId":"ccart",//接口名称"startTime":"2022-03-0117:51:54",//开始时间"endTime":"2022-03-0118:51:54"//结束时间…………}定向监听逻辑:命中上面的配置,不进行异常校验,如果没有命中上述配置,则上报全量数据,则正常执行上述异常上报逻辑。系统—逻辑能力示例性能验证测试数据:界面数据量312kb,包含购物车界面100+项(单品、套装)。校验配置包括条件校验、值校验、多值校验、类型校验、Null校验等基本全覆盖校验。结论:在正常使用情况下,业务异常监控对用户感知不大,对设备性能影响不大。接入业务计划案例分享时间:2021年11.11推广期间案例1主动发现问题:推广期间,业务异常日志也作为有效的监控手段。通过监控日志发现,删除购物车商品的接口会在一天内关闭。4-5次空车是个别异常造成的。主动联系产品和服务端,促进问题原因的排查,有效避免后期客户投诉。案例2快速定位问题:大促期间,部分安卓机型发现点击订单详情支付无法跳转到收银页面,呈现用户点击无响应状态,原因是在线服务器日志已被大促期间删除。关闭,前端通过业务异常日志检查,快速定位问题原因。