前端监控插件

1、简介

monitorjs_horse 是一款前端监控工具,主要包含下面几个方面信息监控:

 1)前端错误异常监控;

 2)页面性能监控;

 3)设备信息采集;

安装:npm i monitorjs_horse

npm包地址:https://www.npmjs.com/package/monitorjs_horse

github地址:https://github.com/Jameszws/monitorjs_horse

2、错误异常捕获详情

 1)js错误信息监控;

 2)支持vue错误信息监控(需要将vue传入,并设置vueError:true);

 3)支持promise中未捕获异常信息的抓取;

 4)支持ajax库(xhr)异常信息捕获;

 5)支持console.error错误信息捕获;

 6)支持资源错误信息捕获。

3、页面性能监控

 1)重定向的时间;

 2)DNS 查询时间;

 3)DNS 缓存时间;

 4)卸载页面的时间;

 5)tcp连接耗时;

 6)内容加载完成的时间;

 7)解析dom树耗时;

 8)白屏时间;

 9)页面加载完成的时间;

 ...

4、设备信息采集

 1)设备类型;

 2)操作系统;

 3)操作系统版本;

 4)屏幕高、屏幕宽;

 5)当前使用的语言-国家;

 6)联网类型;

 7)横竖屏;

 8)浏览器信息;

 9)浏览器指纹;

 10)userAgent;

 ...

5、引入方式

1)支持es6方式引入

import { MonitorJS } from "monitorjs_horse";

2、支持commonjs方式引入

const MonitorJS = require("monitorjs");

3、支持AMD方式引入

define(['monitorjs'],(MonitorJS)=>{});

4、支持<script>标签引入方式

<script src="../node_modules/monitorjs_horse/dist/monitorjs.min.js"></script>

6、初始化配置说明

options参数:

    jsError :配置是否需要监控js错误 (默认true)

    promiseError :配置是否需要监控promise错误 (默认true)

    resourceError :配置是否需要监控资源错误 (默认true)

    ajaxError :配置是否需要监控ajax错误 (默认true)

    consoleError :配置是否需要监控console.error错误 (默认false)

    vueError :配置是否需要记录vue错误信息 (默认false)

    vue : 如需监控vue错误信息,则需要传入vue

    url :错误上报地址

    extendsInfo :自定义扩展信息,一般用于数据持久化区分

7、上报页面性能配置说明

options参数:

    pageId :页面唯一标示

    url :信息采集上报地址

8、Usage

1)错误监控初始化代码:

new MonitorJS().init({

    url:"", //错误上报地址

    consoleError:true, //配置是否需要记录console.error错误信息

    vueError:true, //配置是否需要记录vue错误信息

    vue:Vue, //如需监控vue错误信息,则需要传入vue

    extendsInfo:{}  //自定义扩展信息,一般用于数据持久化区分

});

2)页面性能信息采集:

new MonitorJS().monitorPerformance({

    pageId:"",  //页面唯一标示

    url:""  //信息采集上报地址

});

9、监控返回信息结构

{

    SubCategory:"", //错误类型(枚举):js_error 、resource_error、vue_error、promise_error、ajax_error、console_error、unknow_error

    LogType: "Info", //日志类型(枚举) Error、Warning、Info

    LogInfo: "", //记录的信息

    DeviceInfo:"", //设备信息(JSON字符串)

    ...extendsInfo //自定义扩展信息,一般用于数据持久化区分【如:1、项目区分(Project);2、错误大类区分(前端错误、后端错误 等等)】

}

10、页面性能监控返回信息结构

{

    time: 1565161213722, //上报时间

    deviceInfo: "", //设备信息

    markUser: "",  //用户标示

    markUv: "",  //uv采集

    pageId: "", //页面唯一标示

    performance: {

        analysisTime: 1825, //解析dom树耗时

        appcacheTime: 0,  //DNS 缓存时间

        blankTime: 8, //白屏时间

        dnsTime: 0, //DNS 查询时间

        domReadyTime: 53, //domReadyTime

        loadPage: 1878, //页面加载完成的时间

        redirectTime: 0, //重定向时间

        reqTime: 8, //请求时间

        tcpTime: 0, //tcp连接耗时

        ttfbTime: 1, //读取页面第一个字节的时间

        unloadTime: 0, //卸载页面的时间

    },

    resourceList: [

        {

            dnsTime: 1562.2399999992922, //dns查询耗时

            initiatorType: "img", //发起资源类型

            name: "https://pic.xiaohuochai.site/blog/chromePerformance1.png", //请求资源路径

            nextHopProtocol: "http/1.1", //http协议版本

            redirectTime: 0, //重定向时间

            reqTime: 1.1899999808520079, //请求时间

            tcpTime: 33.76000002026558, //tcp链接耗时

        }

    ],

}

11、使用时机

1)普通项目,页面初始化时候,就可以完成初始化监控工具(最好在业务代码的前面,避免监控有漏);

2)vue项目,需要在new Vue之前初始化监控工具,避免监控有漏;


项目稳定,前端监控必不可少 ^_^

 欢迎留言,一起探讨前端问题 ~~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 10,934评论 6 13
  • error code(错误代码)=0是操作成功完成。error code(错误代码)=1是功能错误。error c...
    Heikki_阅读 3,368评论 1 9
  • 常见错误的分类 对于用户在访问页面时发生的错误,主要包括以下几个类型: 1、js运行时错误 JavaScript代...
    Jiao_0805阅读 1,146评论 0 0
  • 代购:代替购买,简单说就是找别人帮忙买无法买到的产品。通常是指为客户在网上代购商品,收取定额服务费,免费为客户订购...
    润博君阅读 2,121评论 1 5
  • 含悲清泪尽, 风卷纸灰飞。 凄鸟泪啼血, 清明淫雨霏。 平水韵 上平五微 纸灰:烧纸祭奠的灰 凄鸟泪啼血:典故中,...
    画彩仙灵阅读 5,241评论 21 52