当前位置: 首页 > news >正文

网站建设部署视频教程seo排名工具

网站建设部署视频教程,seo排名工具,服装 东莞网站建设,软件开发有哪些岗位最近为了做一些网络上的优化,所以就得提前埋点,为后续网络优化提供数据支持。 主要是对发起请求埋点,请求错误埋点,客户端请求耗时埋点。 事件上报到阿里云,接入的是阿里的应用实时监控服务。 网络请求使用的是OhHttp…

最近为了做一些网络上的优化,所以就得提前埋点,为后续网络优化提供数据支持。
主要是对发起请求埋点,请求错误埋点,客户端请求耗时埋点。
事件上报到阿里云,接入的是阿里的应用实时监控服务。

网络请求使用的是OhHttp + Retrofit ,现在很多都是这么实现的了吧。
网络的埋点切入口,很容易就想到了 Interceptor,用起来了才觉得 Interceptor 是真的香,以前还只是觉得这个设计模式是真好。用到了才感觉是太香了。

上代码:

class ReportingInterceptor(val source: ACRSource) : Interceptor {private val gson = Gson()override fun intercept(chain: Interceptor.Chain): Response {val request = chain.request()val url = request.url.toString()AlibabaCloudRumUtil.requestStart(source, snapshots = url)val startTime = System.currentTimeMillis()val response = chain.proceed(request)AlibabaCloudRumUtil.requestCost(source,snapshots = url,System.currentTimeMillis() - startTime)// 判断是否是 HTTP 错误if (!response.isSuccessful) {AlibabaCloudRumUtil.requestFail(source,snapshots = url,params = AlibabaCloudRumUtil.errorMap(response.code.toString(),response.message))} else {val source = response.body?.source()source?.request(Long.MAX_VALUE)try {val buffer = source?.buffer// 业务错误逻辑上报val result = gson.fromJson(buffer?.clone()?.readString(Charset.forName("UTF-8")),BaseModel::class.java)if (result?.code != 0) {AlibabaCloudRumUtil.requestFail(ACRSource.COROUTINE,snapshots = url,params = ResultException("${result.code}",result?.message ?: "Unknown error").toMap())}} catch (ex: Exception) {AlibabaCloudRumUtil.requestFail(ACRSource.COROUTINE,snapshots = url,params = BusinessException.handlerException(ex).toMap())} finally {source?.close()}}return response}
}

网络请求上报是带上了URL,现在的Retrofit 的URL 在其他地方是真的不好拿,这 Interceptor 确实方便的很。
而网络耗时也比较容易,在
val response = chain.proceed(request)
前后记录时间就可以了,虽然跟抓包数据显示的网络耗时有差距,但是我们毕竟只是粗略的统计而已。
错误上报的话,包括了 http 请求错误和 code != 0 的业务数据错误,都是需要上报的。

如果需要在其他地方拿到 URL ,需要在 Interceptor 里处理,重新 new 一个 Response 返回,然后把 URL 塞到 Header 里面,在其他地方把 Header 中的 URL 读取出来。但是会产生一点性能开销,毕竟每个请求都需要 new 一个新的 Response 。

http://www.tj-hxxt.cn/news/57222.html

相关文章:

  • 全球优秀企业网站政府免费培训 面点班
  • 网站建设论文html格式seo 页面
  • 做计算机版权需要网站源代码域名权重查询工具
  • 网站排名效果好百度电话怎么转人工客服
  • 上海大学生兼职做网站百度代理服务器
  • 交易平台网站开发教程百度云b2b免费发布平台
  • 做视频播放网站 赚钱引流获客工具
  • 厦门市思明区建设局网站免费关键词优化工具
  • 网站运营的具体工作包括哪些广州网站建设系统
  • 阿里主机wordpresscpu优化软件
  • 网上购物网站建设重庆seo薪酬水平
  • 微信读书网页版深圳seo推广培训
  • 跨境电商网站设计舆情通
  • 免费mac做ppt模板下载网站网页制作步骤
  • 怎样做才能提升自己的网站谷歌官网网址
  • 河北移动端网站建设100个免费推广b站
  • 网页游戏网站下载站长之家素材网站
  • 网站关键词如何优化软文平台有哪些
  • 江苏加强政府网站内容建设管理办法日本产品和韩国产品哪个好
  • 做presentation的网站网上培训
  • 湖南省人民政府电话号码seo综合查询工具
  • 德阳如何做百度的网站大庆网络推广
  • wordpress文章id排列seo 资料包怎么获得
  • html商品展示页面什么是seo站内优化
  • 网站即时在线客服深圳百度关键词
  • 中国建设银行南京分行网站首页开发制作app软件
  • 张家港网站开发制作杭州正规引流推广公司
  • 视频网站怎么做可以播放电视剧信息流优化师发展前景
  • 东莞网站建站推广网络营销品牌
  • 电商设计网站哪个好朝阳区seo搜索引擎优化怎么样