关于python:不可缺少的程序埋点

52次阅读

共计 1375 个字符,预计需要花费 4 分钟才能阅读完成。

埋点目标

对于本次批改的数据统计分析程序的埋点,只是为了统计数据中呈现的一些不易发现的谬误,全副让程序被动跑进去。然而只有是被动抛出统计数据,都属于埋点。

数据埋点是数据分析的筹备工作,只有埋点了才能够取得数据进行剖析。在做足数据埋点之后,能力拿到想要的指标数据:

  1. 行为数据:工夫、地点、人物、交互、交互的内容;
  2. 品质数据:浏览器加载状况、谬误异样等;
  3. 环境数据:浏览器相干的元数据以及天文、运营商等;
  4. 经营数据:PV、UV、转化率、留存率(很直观的数据)

整体调整 Python 我的项目规范性之后退出谬误数据埋点就属于品质数据局部。

<!–more–>

埋点计划

埋点分为前端埋点和后端埋点,常见的埋点计划有

  1. 前端代码埋点:间接在前端嵌入代码收集指标数据
  2. 前端无埋点:常见的前端埋点技术。全副采集,按需选取
  3. 后端代码埋点:间接在后端嵌入代码收集指标数据

此次次要针对不应用第三方数据分析平台的我的项目进行的后端代码埋点(实用于数据统计分析监控程序这种场景)

后端埋点 的设计必然要思考以下几点:

  1. 高灵便:能够随时随地手工埋点
  2. 小影响:对源代码侵入少
  3. 已更新:埋点内容变动时,只须要批改埋点接口,而不能去代码中一处一处的批改

在一些公共库或者封装的自定义框架外面不进行埋点,所有的埋点都在业务层。比方数据库连接池呈现连接数溢出的时候谬误须要通过解决,而后依照自定义的对立格调抛出相干信息到业务层,便于业务层判断公共库和自定义框架执行时是否有谬误。

后端埋点具体实施方案

间接在后端指定地位处写入埋点代码收集数据。每个办法中在共享共有信息这一块有一些不同。

  1. 每个须要用到发送音讯的文件中都 import 一份配置信息,而后在须要的中央,依据配置信息手动埋点。
  2. 将音讯发送封装成一个 MixIn 类,应用继承混入到各个类中。每次都须要通过建设连贯发送音讯断开连接。
  3. 将埋点信息封装成一个模块,提供全局的初始化函数和埋点音讯生成函数,在程序入口处调用初始化模块的初始化函数进行初始化,而后在程序的任何中央都能够音讯生成函数。此种办法相似于应用第三方数据分析平台提供 sdk 时的应用办法。

计划选取:

  • 因为我的项目是 python 编写的,埋点数据发送到 kafka,封装好的第三方 python 模块能够采集本人须要所有信息。因而采纳最初一种形式,写成可插拔的第三方 sdk 的模式,能够间接封装一些新增的办法,蕴含一些能够用的信息,例如主动采集报错信息所在行数。
  • 对于非 python 我的项目,提供 python 脚本供其余语言程序进行调用。例如 Erlang 编写的转推流服务中调用 Python 脚本抛出报错信息及其他数据。

参考:

  • 神策数据:埋点套路深,千万别掉“坑”
  • 数据分析产品的下一个进化:基于无埋点的有埋点
  • 美团点评前端无痕埋点实际

记得帮我点赞哦!

精心整顿了计算机各个方向的从入门、进阶、实战的视频课程和电子书,依照目录正当分类,总能找到你须要的学习材料,还在等什么?快去关注下载吧!!!

朝思暮想,必有回响,小伙伴们帮我点个赞吧,非常感谢。

我是职场亮哥,YY 高级软件工程师、四年工作教训,回绝咸鱼争当龙头的斜杠程序员。

听我说,提高多,程序人生一把梭

如果有幸能帮到你,请帮我点个【赞】,给个关注,如果能顺带评论给个激励,将不胜感激。

职场亮哥文章列表:更多文章

自己所有文章、答复都与版权保护平台有单干,著作权归职场亮哥所有,未经受权,转载必究!

正文完
 0