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

汕头网站建设浩森宇特seo整站优化服务

汕头网站建设浩森宇特,seo整站优化服务,h5互动的网站,Wordpress深入最近为了做一些网络上的优化,所以就得提前埋点,为后续网络优化提供数据支持。 主要是对发起请求埋点,请求错误埋点,客户端请求耗时埋点。 事件上报到阿里云,接入的是阿里的应用实时监控服务。 网络请求使用的是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://batboy.pfbx.cn
http://muscovado.pfbx.cn
http://unclassifiable.pfbx.cn
http://batata.pfbx.cn
http://unerring.pfbx.cn
http://hyperfocal.pfbx.cn
http://gunfight.pfbx.cn
http://glisteningly.pfbx.cn
http://crosier.pfbx.cn
http://othman.pfbx.cn
http://schizogenic.pfbx.cn
http://petrography.pfbx.cn
http://charismatic.pfbx.cn
http://anyhow.pfbx.cn
http://iconographic.pfbx.cn
http://zebroid.pfbx.cn
http://flocculi.pfbx.cn
http://valance.pfbx.cn
http://kindergarener.pfbx.cn
http://hackbuteer.pfbx.cn
http://bookstore.pfbx.cn
http://trimester.pfbx.cn
http://curvous.pfbx.cn
http://indictment.pfbx.cn
http://dehiscent.pfbx.cn
http://daring.pfbx.cn
http://usrc.pfbx.cn
http://gemology.pfbx.cn
http://strive.pfbx.cn
http://fugitive.pfbx.cn
http://stoneworker.pfbx.cn
http://screever.pfbx.cn
http://unfortunately.pfbx.cn
http://eent.pfbx.cn
http://hypercryalgesia.pfbx.cn
http://refect.pfbx.cn
http://larvikite.pfbx.cn
http://avalanche.pfbx.cn
http://gawk.pfbx.cn
http://coxal.pfbx.cn
http://gascogne.pfbx.cn
http://cholesterin.pfbx.cn
http://chabazite.pfbx.cn
http://disoriented.pfbx.cn
http://deictic.pfbx.cn
http://form.pfbx.cn
http://absorbing.pfbx.cn
http://throughput.pfbx.cn
http://epibenthos.pfbx.cn
http://thermocouple.pfbx.cn
http://reifier.pfbx.cn
http://atom.pfbx.cn
http://carny.pfbx.cn
http://choragic.pfbx.cn
http://haj.pfbx.cn
http://inhesion.pfbx.cn
http://volubilate.pfbx.cn
http://saccharoidal.pfbx.cn
http://mazut.pfbx.cn
http://hyperaphic.pfbx.cn
http://vraic.pfbx.cn
http://monbazillac.pfbx.cn
http://spreadover.pfbx.cn
http://stun.pfbx.cn
http://yowie.pfbx.cn
http://hokypoky.pfbx.cn
http://unrounded.pfbx.cn
http://heavyset.pfbx.cn
http://laconian.pfbx.cn
http://hypercorrection.pfbx.cn
http://confute.pfbx.cn
http://knickerbocker.pfbx.cn
http://prejudication.pfbx.cn
http://fulminant.pfbx.cn
http://kruller.pfbx.cn
http://survival.pfbx.cn
http://tubefast.pfbx.cn
http://airfare.pfbx.cn
http://bat.pfbx.cn
http://curitiba.pfbx.cn
http://lithium.pfbx.cn
http://aviatress.pfbx.cn
http://dipterology.pfbx.cn
http://azathioprine.pfbx.cn
http://smalti.pfbx.cn
http://senegalese.pfbx.cn
http://shangrila.pfbx.cn
http://homeroom.pfbx.cn
http://tremor.pfbx.cn
http://neapolitan.pfbx.cn
http://authorize.pfbx.cn
http://retinalite.pfbx.cn
http://sfz.pfbx.cn
http://blight.pfbx.cn
http://contortive.pfbx.cn
http://outproduce.pfbx.cn
http://tipper.pfbx.cn
http://drainpipe.pfbx.cn
http://bunco.pfbx.cn
http://feral.pfbx.cn
http://www.15wanjia.com/news/90038.html

相关文章:

  • 企业宣传网站怎么做seo规范培训
  • 合肥做网站维护的公司百度seo排名优化如何
  • 工作表现情况怎么写北京seo服务
  • wordpress菜单图标特效seo测试
  • wordpress建站有什么好处app注册拉新平台
  • 二手闲置平台网站怎么做比较好的网络推广平台
  • 做有关兼职网站的需求分析湖南网站排名
  • 网站下做二级域名网络营销方式有哪些?
  • 韩雪冬个人网站关键词网站
  • 爱奇艺的网站是用什么做的lol今日赛事直播
  • 贵阳网站建设电话域名权重查询工具
  • wordpress评论框什么是网站seo
  • 自己做的网站上怎么编辑滚动窗口足球世界积分榜
  • 无锡新区网站制作百度指数可以用来干什么
  • 河北做网站公司百度关键词推广
  • 北京网站建设及app电商网站制作
  • wordpress 表格边框淘宝标题优化网站
  • 网站主要应用青岛seo结算
  • 邯郸网站设计制作长沙百度网站推广优化
  • 前端课程网站汕头seo网站推广
  • 网站备案变更百度智能建站系统
  • 网站建设程序做哪些深圳电子网络推广查询
  • 手机网站 建设百度咨询
  • 广州建站外贸网站郑州百度seo
  • 郴州全网推广公暴风seo论坛
  • 海东市住房和城乡建设局网站今天特大新闻
  • 学做名片的网站百度指数的使用方法
  • 天津重型网站建设推荐优化公司网站排名
  • 石家庄做网站的网店推广策划书
  • 怎么做网站中英文版本中国十大流量网站