前端监控实战之 sentry

本文涉及的产品
应用实时监控服务ARMS - 应用监控,每月50GB免费额度
简介: 前端监控实战之 sentry

1、目的

  • 前端监控是非常有必要的内容,当项目中出现问题,可迅速找到问题根源,并且快速解决问题,非常重要,尤其是项目越来越大时
  • sentry 要做的就是这个事情 就是将错误找到 帮助我们解决问题
  • 非常 重要的事情 在于 sentry 部署并不困难,困难点在于 如何 使用和展示拿到的监控数据,让数据有作用 才是 更重要的事情

2、部署

1. vue create xxx 项目名
2. 打开 sentry.io 创建 项目 
3. 安装 sentry 服务 
# Using yarn 
yarn add @sentry/browser @sentry/tracing
# Using npm
npm install --save @sentry/browser @sentry/tracing
4.配置一下 入口文件 main.js 添加这个配置
复制代码
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import * as Sentry from "@sentry/browser";
import { BrowserTracing } from "@sentry/tracing";
Vue.config.productionTip = false
Sentry.init({
  dsn: "https://xxxx@o1407965.ingest.sentry.io/xxxx",
  release: "javascript-vue-demo",
  integrations: [new BrowserTracing()],
  tracesSampleRate: 1.0,
});
new Vue({
    router,
    store,
    render: h => h(App)
  }).$mount('#app')
复制代码
  • 注意 上面的 dsn 如何获取 ?

网络异常,图片无法展示
|

  • 进入 之后 可以看到 拿到 dsn 放到上面

网络异常,图片无法展示
|

  • 最基本的准备 已经完成了 , 是不是 并不困难
  • 当前页面效果  projects

网络异常,图片无法展示
|

  • 主要看 issues

网络异常,图片无法展示
|

  • 是不是 非常 nice ? 那么这些 错误 如何 收集来的 ?

3、 错误收集功能

  • 就一句话  页面常规错误 会自动发给 sentry 记录  可能有同学抓起键盘准备开喷, 你这说的不准确啊
  • good , 说明是个严谨的同学,再说清楚点
  • 比如下面这些

网络异常,图片无法展示
|

网络异常,图片无法展示
|

在 vue 项目中,使用 vue.config.errorHandler 的方式捕获同步运行错误、使用 
window.addEventListener('error', (error)=>{}, true)的方法来捕获异步运行错误及资
源加载错误、在 axios 拦截器中进行请求错误捕获,是确保全面异常捕获较为全面便捷的方案
复制代码
  • 那异常怎么捕获到 ?

网络异常,图片无法展示
|

  • 其实上面的错误 产生 很简单 比如这样

网络异常,图片无法展示
|

  • 或者 这样

网络异常,图片无法展示
|

  • 说明 什么问题 ?

说明 写错非常容易,敲码请小心,错误积累非常夸张,sentry 有容量限制 超过 需要付费,你懂的(不过也可把一些很常见的无解的问题过滤掉,比如 fail to fetch )  

  • 你会不会问我 作为工程师,怎么能说不能解决呢?
  • 这个问题 大概率 由于用户网络 波动 较大导致,至于 弱网优化 暂且不谈,不过确实可以优化,但是极端情况下,用户网速完全无法支持业务访问,还是会报错

4、错误信息有啥用 ?

  • 别的就不谈了 你看看这种信息  是不是 能帮你快速定位 问题

网络异常,图片无法展示
|

  • 当然 如果再生产环境下 , 代码输出的时候会进一步压缩和混淆,可能看到问题还是无法找到 源文件在哪, 这个时候需要 sourcemap 支援

5、如何配置 sourcemap ?

1.新建 Auth Tokens 
2. 项目内 新建 .sentryclirc文件
3. 配置 webpack 安装插件 npm install @sentry/webpack-plugin --save-dev
4.引入 
复制代码
  • 新建 Auth Tokens

网络异常,图片无法展示
|

  • .sentryclirc
[auth]
token=xxxxxxx
[defaults]
project=javascript-vue
org=sentry
url=https://sentry.io/
复制代码
  • 引入

网络异常,图片无法展示
|

  • 自行尝试 一👋 吧
  • 因为 我们前面的问题 可以 找到 源头 此处 暂且不写了



相关实践学习
通过云拨测对指定服务器进行Ping/DNS监测
本实验将通过云拨测对指定服务器进行Ping/DNS监测,评估网站服务质量和用户体验。
相关文章
|
29天前
|
前端开发 UED 开发者
颠覆你的前端知识:防抖与节流的区别及实战解析!
【8月更文挑战第23天】在Web前端开发中,处理用户界面交互产生的事件可能会影响性能。为此,我们有两种优化方法:防抖(debounce)和节流(throttle)。防抖确保函数仅在事件停止触发一段时间后执行一次,适用于如搜索自动补全场景。而节流则确保函数按固定时间间隔执行,不管用户操作频率如何。本篇技术博客将深入解析两者差异并提供示例代码,帮助开发者更好地理解和应用这些技巧以提升应用性能和用户体验。
57 0
|
2月前
|
前端开发
Element UI 【实战】纯前端对表格数据进行增删改查(内含弹窗表单、数据校验、时间日期格式)
Element UI 【实战】纯前端对表格数据进行增删改查(内含弹窗表单、数据校验、时间日期格式)
112 6
|
18天前
|
缓存 监控 前端开发
前端性能优化实战:让你的网站快如闪电的十大秘籍
【9月更文挑战第3天】通过以上十大秘籍的实践,您可以显著提升网站的前端性能,让您的网站在竞争激烈的互联网环境中脱颖而出,为用户带来更加流畅和愉悦的体验。记住,前端性能优化是一个永无止境的过程,只有不断迭代和优化,才能保持网站的竞争力。
|
26天前
|
编解码 前端开发 开发者
【前端设计达人必备】揭秘CSS尺寸单位的魔力:从基础到实战,打造灵动响应式网页!
【8月更文挑战第26天】本文深入探讨了CSS中常用的尺寸单位,包括像素(px)、百分比(%)、视窗单位(vw/vh/vmin/vmax)、可伸缩相对单位(em/rem)以及Flexbox和Grid中的fr单位。通过具体案例展示了每种单位的特点及其适用场景。像素适用于固定尺寸元素;百分比和em/rem利于构建响应式布局;视窗单位适合全屏设计;fr单位则能有效管理复杂网格布局的空间分配。掌握这些单位有助于开发者设计出更加灵活、高质量的网页布局。
36 4
|
23天前
|
前端开发 JavaScript 开发者
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
本文提供了一个前端JS按钮点击事件、弹出式窗口和遮罩层的实战示例,包括HTML、CSS和JavaScript的具体实现代码,以及功能解析,演示了如何实现按钮点击后触发弹窗显示和遮罩层,并在2秒后自动关闭或点击遮罩层关闭弹窗的效果。
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
|
25天前
|
存储 前端开发 JavaScript
解锁前端高手之路:Vuex 状态管理实战,从零到精通的旅程!
【8月更文挑战第27天】状态管理在大型单页应用开发中至关重要。Vue.js 通过其官方工具 Vuex 提供了一套强大且直观的 API。本文从零开始引导你逐步掌握 Vuex。首先介绍如何安装和配置,然后通过具体示例深入探讨状态(State)、变更(Mutations)、动作(Actions)以及模块化 Store 的使用方法。最后,通过购物车管理实战案例展示如何运用 Vuex 解决复杂状态管理问题。掌握这些技巧后,你将能在项目中高效地利用 Vuex。
11 1
|
20天前
|
C# 前端开发 UED
WPF数据验证实战:内置控件与自定义规则,带你玩转前端数据验证,让你的应用程序更上一层楼!
【8月更文挑战第31天】在WPF应用开发中,数据验证是确保输入正确性的关键环节。前端验证能及时发现错误,提升用户体验和程序可靠性。本文对比了几种常用的WPF数据验证方法,并通过示例展示了如何使用内置验证控件(如`TextBox`)及自定义验证规则实现有效验证。内置控件结合`Validation`类可快速实现简单验证;自定义规则则提供了更灵活的复杂逻辑支持。希望本文能帮助开发者更好地进行WPF数据验证。
38 0
|
20天前
|
前端开发 Java UED
JSF 面向组件开发究竟藏着何种奥秘?带你探寻可复用 UI 组件设计的神秘之路
【8月更文挑战第31天】在现代软件开发中,高效与可维护性至关重要。JavaServer Faces(JSF)框架通过其面向组件的开发模式,提供了构建复杂用户界面的强大工具,特别适用于设计可复用的 UI 组件。通过合理设计组件的功能与外观,可以显著提高开发效率并降低维护成本。本文以一个具体的 `MessageComponent` 示例展示了如何创建可复用的 JSF 组件,并介绍了如何在 JSF 页面中使用这些组件。结合其他技术如 PrimeFaces 和 Bootstrap,可以进一步丰富组件库,提升用户体验。
35 0
|
20天前
|
API UED 开发者
如何在Uno Platform中轻松实现流畅动画效果——从基础到优化,全方位打造用户友好的动态交互体验!
【8月更文挑战第31天】在开发跨平台应用时,确保用户界面流畅且具吸引力至关重要。Uno Platform 作为多端统一的开发框架,不仅支持跨系统应用开发,还能通过优化实现流畅动画,增强用户体验。本文探讨了Uno Platform中实现流畅动画的多个方面,包括动画基础、性能优化、实践技巧及问题排查,帮助开发者掌握具体优化策略,提升应用质量与用户满意度。通过合理利用故事板、减少布局复杂性、使用硬件加速等技术,结合异步方法与预设缓存技巧,开发者能够创建美观且流畅的动画效果。
43 0
|
21天前
|
前端开发 开发者 Apache
揭秘Apache Wicket项目结构:如何打造Web应用的钢铁长城,告别混乱代码!
【8月更文挑战第31天】Apache Wicket凭借其组件化设计深受Java Web开发者青睐。本文详细解析了Wicket项目结构,帮助你构建可维护的大型Web应用。通过示例展示了如何使用Maven管理依赖,并组织页面、组件及业务逻辑,确保代码清晰易懂。Wicket提供的页面继承、组件重用等功能进一步增强了项目的可维护性和扩展性。掌握这些技巧,能够显著提升开发效率,构建更稳定的Web应用。
53 0