使用skywalking-client-js 监控vue2项目数据

skywalking-client-js

是skywalking监控系统的前端浏览器监控部分,最近公司再调研怎么接入这个前端监控,查阅众多博客和文章之后感觉没有达到我想要的效果,解读源码之后终于达到效果了,特此分享记入一下。

首先你要有一个skywalking的服务地址。

找后端帮你搭建,或者你自己看看skywalking的部署文章。

vue2.0项目接入skywalking-client-js

1.项目中添加skywalking-client-js包

npm install skywalking-client-js --save

2.在vue.config.js中配置请求代理,用来向skywalking服务发信息。

module.exports = {
  devServer:{
    proxy:{
      '/browser': {
        target:'http://skywalking服务的IP:12800',//这里是路由和报错报告的代理
        changeOrigin: true
      },
      '/v3':{
        target:'http://skywalking服务的IP:12800',
        changeOrigin: true//这里是追踪报告的代理
      }
    },
  },
}

3.在main.js中加入接入skywalking-client-js

//skywalking监控系统
import ClientMonitor from 'skywalking-client-js';
//注册skywalking
ClientMonitor.register({
    service: '',//应用名称	
    serviceVersion:'2.0.1',//应用版本号
    traceSDKInternal:true,//追踪sdk
    pagePath: location.href,//当前路由地址
    useFmp: true,
    vue:Vue,//vue实例
});

4.代码中接入skywalking-client-js
skywalking在监控浏览器的时候有3个单独要处理的部分:页面路由监控,报错监控,追踪监控。
1)页面路由监控:在vue的路由文件中添加

router.beforeEach((to, from, next) => {//我选择在beforeEach中上报,其实在afterEach也可以。
    //路由上报到skywalking
    ClientMonitor.setPerformance({
     pagePath: location.href,//当前路由地址。
     useFmp: true,
     vue:Vue,
	});//因为有些参数已经在ClientMonitor.register中注册过了所以不用填加了。
});

2.报错监控:报错监控是需要自己写代码上报的。
在main.js中监听报错:

// Vue 报错上报到skywalking。
Vue.config.errorHandler = (error) => {
    console.error(error);
  reportFrameErrors(error);
}
//监听ajax报错
window.addEventListener('error', error=>{
    console.log("error--->",error)
  reportFrameErrors(error);
}, true)//上报错误信息方法
function reportFrameErrors(error){
  ClientMonitor.reportFrameErrors({
    service: '',//应用名称	
    serviceVersion:'2.0.1',//应用版本号
    pagePath: location.href,
    vue:Vue,
  }, error);
}

3.追踪监控:
追踪这个功能是ClientMonitor.register这个方法里自己启动的,我们只需要配置好请求代理就好了。
请求代理代码:
同:2.在vue.config.js中配置请求代理。

效果:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

你可以通过以下步骤来使用 SkyWalking 客户端 JavaScriptskywalking-client-js): 1. 首先,确保你的项目中已经安装了 Node.js 环境。 2. 在你的项目目录中,使用以下命令安装 skywalking-client-js: ``` npm install skywalking-client-js ``` 3. 在你的 JavaScript 代码中,导入并初始化 SkyWalking 客户端: ```javascript const { Tracer, Segment, Span } = require('skywalking-client-js'); // 初始化 Tracer Tracer.initialize({ serviceName: 'your-service-name', // 设置你的服务名称 directServers: 'your-skywalking-collector-url:your-collector-port', // 设置 SkyWalking Collector 的地址和端口 }); // 创建 Segment,并开始记录 const segment = new Segment('your-segment-name'); segment.start(); // 创建 Span,并开始记录 const span = new Span('your-span-name'); span.start(); // 执行你的业务逻辑 // ... // 结束 Span 和 Segment 的记录 span.end(); segment.end(); // 发送数据SkyWalking Collector Tracer.stop(); ``` 在上述代码中,你需要替换以下内容: - `your-service-name`:你的服务名称,可以自定义。 - `your-skywalking-collector-url:your-collector-port`:SkyWalking Collector 的地址和端口,通常是 `localhost:11800`。 - `your-segment-name` 和 `your-span-name`:你的 Segment 和 Span 的名称,可以自定义。 4. 运行你的 JavaScript 代码,确保 SkyWalking Collector 能够接收到数据并进行监控。 这样,你就可以使用 SkyWalking 客户端 JavaScript 进行性能监控和分析了。更多详细的用法和配置可以参考 skywalking-client-js 的官方文档。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值