前端监控日志产品

前言

流量分析的监控有:百度统计谷歌分析、GrowingIo、友盟

错误统计的监控有:sentryfundebug、frontJs、岳鹰

前端监控产品:OneApm、听云

开源的:logan web、Matomo

PS:加粗的是博主用过的,sentry还可以和Hubspot搭配使用

前端监控体系包含哪些方面

我们可以从两方向思考这个问题:

  • 监控什么
  • 如何监控

监控什么是指我们要监控的应用是什么样的应用。比如:web应用、小程序(微信公众平台有自己的日志系统,但不够强大)、客户端应用,或者node应用。

监控什么从另个层次上还可以理解为具体监控应用的哪些信息,对于应用程序来讲,我们通常需要监控代码的一下信息:

  • 代码运行错误
  • 应用界面的加载性能
  • 某个时刻的内存消耗
  • 用户的操作行为
  • 应用的访问量 PV \ UV

前端监控体系

JS中常见的错误:

  • uncaught error :这种错误通常情况下发生在我们的开发过程中,理论上不需要我们进行上报。
  • runtime error:运行时错误,这种错误会触发window.onerror事件,我们可以通过监听onerror事件,获取相关的信息进行上报。
  • 资源错误:例如图片简直失败,js文件加载失败等,它也会触发onerror事件
  • unhandledregection:这种错误由promise触发,我们可以监听onunhandledrejection方法获取相关信息进行上报。
  • 当然可能还有框架的错误,例如 vue 的 Vue.config.errorHandler,可看我之前 vue项目如何捕获错误进行上报

监听接口:

比如,

  • 请求发起的时间、响应时间、请求耗时情况;
  • 请求参数和响应参数,包括请求头、方式等;
  • 触发请求的信息,如网址路由,DOM节点信息;

其他:

行为监听:用户触发了哪些事件,如点击的按钮,访问的页面,停留的时长;
性能上报,如:

  • First paint 页面导航与浏览器将该网页的第一个像素渲染到屏幕上所用的间时,渲染是任何与输入网页导航前的屏幕上的内容不同的内容。
  • First meaningful paint 页面完成布局后,加载了web 字体。
  • First contentFul paint (FCP)是浏览器从DOM中呈现第一位内容,向用户提供页面实际加载的第一个反馈。First Contentful Paint时间戳是浏览器首次渲染任何文本、图像(包括背景图像)、视频、已绘制到的画布或非空SVG的时间。这排除了iframes的任何内容,但包括带有挂起的Web字体的文本。这是用户第一次开始使用页面内容。

还要了解一些统计学相关的知识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/144999.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

前端uniapp防止页面整体滑动页面顶部以上,设置固定想要固定区域宽高

解决:设置固定想要固定区域宽高 目录 未改前图未改样式改后图改后样式 未改前图 未改样式 .main {display: flex;flex-direction: row;// justify-content: space-between;width: 100vw;// 防止全部移动到上面位置!!!&#xff01…

【C++的OpenCV】第十三课-OpenCV基础强化(一):绝对有用!Mat相关的一系列知识(基础->进阶)

🎉🎉🎉 欢迎各位来到小白 p i a o 的学习空间! \color{red}{欢迎各位来到小白piao的学习空间!} 欢迎各位来到小白piao的学习空间!🎉🎉🎉 💖💖&…

在nodejs中如何防止ssrf攻击

在nodejs中如何防止ssrf攻击 什么是ssrf攻击 ssrf(server-side request forgery)是服务器端请求伪造,指攻击者能够从易受攻击的Web应用程序发送精心设计的请求的对其他网站进行攻击。(利用一个可发起网络请求的服务当作跳板来攻击其他服务)…

C++核心编程--继承篇

4.6、继承 继承是面向对象三大特征之一 有些类与类之间存在特殊的关系,例如下图中: ​ 我们发现,定义这些类的定义时,都拥有上一级的一些共性,还有一些自己的特性。那么我们遇到重复的东西时,就可以考虑使…

大数据Flink(八十九):Temporal Join(快照 Join)

文章目录 Temporal Join(快照 Join) Temporal Join(快照 Join) Temporal Join 定义(支持 Batch\Streaming):Temporal Join 在离线的概念中其实是没有类似的 Join 概念的,但是离线中常常会维护一种表叫做 拉链快照表,使用一个明细表去 join 这个 拉链快照表 的 join …

GD32F10x的输出模式

1. 单片机型号的识别。 2. GPIO的输出模式。 1. 开漏模式 2.推挽模式 3.复用开漏模式 4.复用推挽模式。 开漏模式:(写入位设置,输出数据寄存器来控制MOS) 只有N-MOS管导通。PMOS不导通。 当N-MOS的栅极为0,N-MOS管…

SQL血缘解析原理

根据sql解析获取到表到表, 字段到字段间的关系,即血缘关系。实际上这是从sql文本获取到数据流的过程。 大致步骤如下: 1.sql文本进行词法分析 2.sql语法分析获取到AST抽象语法树 3.访问AST抽象语法树根据语法结构推测出数据的流向,例如create as select from 这种结…

排序:败者树和置换选择排序(解决外部排序中的优化问题)

1.算法目的(败者树) 解决多路平衡归并带来的问题。 在外部排序中,使用k路平衡归并策略, 选出一个最小元素需要对比关键字(k-1)次, 导致内部归并所需时间增加。(可用“败者树”进行优化) 2.败者树的定义 …

高德地图根据两点的经纬度计算两点之间的距离(修正版)

SQL语句可以用来计算两个经纬度之间的距离。下面是一个示例的SQL语句: SELECT id, ( 6371 * ACOS( COS( RADIANS( lat1 ) ) * COS( RADIANS( lat2 ) ) * COS( RADIANS( lng2 ) - RADIANS( lng1 ) ) SIN( RADIANS( lat1 ) ) * SIN( RADIANS( lat2 ) ) ) ) AS dista…

ROS系统读取USB相机图像数据

ROS系统读取USB相机图像数据 前言usb_cam 功能包下载与编译摄像头选择连接摄像头可配置参数 前言 usb_cam功能包简介 为了丰富机器人与外界的交互方式,已经增加了与机器人的语音交互方式,不仅使机器人能够说话发声,还能听懂我们说的话&#…

泽众APM性能监控软件

泽众Application Performance Management(简称APM)是一款专业的性能监控工具,可以对全链路如Web服务器、应用服务器、数据库服务器等进行实时监控,并以图表化的形式直观地呈现监控数据,为系统性能优化和定位问题提供准…

3 OpenCV两张图片实现稀疏点云的生成

前文: 1 基于SIFT图像特征识别的匹配方法比较与实现 2 OpenCV实现的F矩阵RANSAC原理与实践 1 E矩阵 1.1 由F到E E K T ∗ F ∗ K E K^T * F * K EKT∗F∗K E 矩阵可以直接通过之前算好的 F 矩阵与相机内参 K 矩阵获得 Mat E K.t() * F * K;相机内参获得的方式…

ThreeJS-3D教学四-光源

three模拟的真实3D环境,一个非常炫酷的功能便是对光源的操控,之前教学一中已经简单的描述了多种光源,这次咱们就详细的讲下一些最常见的光源: AmbientLight 该灯光在全局范围内平等地照亮场景中的所有对象。 该灯光不能用于投射阴…

蓝桥杯每日一题2023.9.29

蓝桥杯大赛历届真题 - C&C 大学 B 组 - 蓝桥云课 (lanqiao.cn) 题目描述1 题目分析 看见有32位,我们以此为入手点, B代表字节1B 8b b代表位,32位即4个字节 (B) 1KB 1024B 1MB 1024KB (256 * 1024 * 1024) / 4 67108864 故答案…

Spring | 基于SpringBoot的多数据源实战 - 使用seata实现多数据源的全局事务管理

Spring | 基于SpringBoot的多数据源实战 - 使用seata实现多数据源的全局事务管理 引言1.1 多数据源的必要性1.2 多数据源的应用场景 实战演示2.1 创建实体类2.2 配置数据源2.3 实现数据源配置类2.4 配置Repository类2.5 运行与验证 事务管理与数据一致性3.1 事务管理3.2 使用Se…

MySQL 索引底层 B+Tree 原理解析

目录 一、前言二、B-Tree 和 BTree 的区别三、InnoDB 和 MyISAM 存储引擎索引存储区别MyISAMInnoDB 四、InnoDB 联合索引底层数据结构五、MySQL 中三次磁盘IO最大能检索多少数据 一、前言 索引是帮助高效获取数据排好序的数据结构,任何数据库都会使用到索引&#x…

C++之容器类有趣的实验(二百四十一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

uniapp:如何修改路由加载条的样式

路由加载条默认是绿色,通过元素选择工具我们可以知道元素的类名是#router-loadding .loadding,具体设置在h5-dom.js文件里。 我们直接在App.vue里对加载样式进行修改即可,如下图: !important一定记得要加,否则不生效&…

聊聊并发编程——Condition

目录 一.synchronized wait/notify/notifyAll 线程通信 二.Lock Condition 实现线程通信 三.Condition实现通信分析 四.JUC工具类的示例 一.synchronized wait/notify/notifyAll 线程通信 关于线程间的通信,简单举例下: 1.创建ThreadA传入共享…

缓存一致性(cache coherency)解决方案:MESI 协议状态转换详解

MESI 协议 一,MESI状态释义二,MESI状态转换1 Invalid after Reset2, Invalid > Exclusive3, Exclusive > Modified4 Modified > Shared, Invalid > Shared5 Shared > Invalid, Shared > Modified 三,状态转换场景总结Inval…