0.1.7 • Published 4 years ago

bpit.common.data v0.1.7

Weekly downloads
3
License
MIT
Repository
-
Last release
4 years ago

安装

    npm i bpit.common.data

使用

浏览器使用

    <!-- 引入 -->
    <script src="node_modules/bpit.common.data/dist/bpit.common.data.b.js"></script>
    <!-- 使用 -->
    window.bpitCommonDataLog(options);

npm使用

// 引入
var bpitCommonData = require('bpit.common.data');
// 使用
bpitCommonData.log(options);

options

公用

key必填备注举例
group项目组yach
project项目名yach_86_index
env环境dev,test,pre,online
version版本yach端内上传yach端版本,其他上传业务版本
yachidyach用户id
workcode工号

页面响应时间

key必填备注举例
page页面index
time响应时间100

接口响应时间

key必填备注举例
apiapi地址/ucenter/user/login
time响应时间100

页面响应时间示例1:js库类的应用

在html的head中记录页面开始加载时间

    <script type="text/javascript">
        window.bpit_elk_page_start_time = (new Date()).getTime();
    </script>

在body末尾适当位置记录结束时间

    <script src="node_modules/bpit.common.data/dist/bpit.common.data.b.js"></script>
    <script>
        if(window.bpit_elk_page_start_time){
            var end_time = (new Date()).getTime();
            var load_time = end_time - window.bpit_elk_page_start_time;
            window.bpitCommonDataLog({
               group   : 'yach',
               project : 'yach_86_index',
               env     : 'online',
               page    : 'index',
               time    : load_time,
	       yachid  : '123',
	       workcode: '123',
	       version : '0.0.1'
            });
        }
    </script>

页面响应时间示例2:react类的应用

在html的head中记录页面开始加载时间

    <script type="text/javascript">
        window.bpit_elk_page_start_time = (new Date()).getTime();
    </script>

在页面渲染完成后计算页面加载时间(componentDidMount)

    var bpitCommonData = require('bpit.common.data');

    componentDidMount(){
        if(window.bpit_elk_page_start_time){
            var end_time = (new Date()).getTime();
            var load_time = end_time - window.bpit_elk_page_start_time;
            bpitCommonData.log({
                group   : 'yach',
                project : 'yach_86_index',
                env     : 'online',
                page    : 'index',
                time    : load_time,
		yachid	: '123',
		workcode: '123',
		version	: '0.0.1'
            });
        }
    }

接口响应时间示例1:js库类应用-ajax请求接口

    <script src="node_modules/bpit.common.data/dist/bpit.common.data.b.js"></script>
    <script>
        // 在请求开始时记录开始时间
        var bpit_elk_api_start_time = (new Date()).getTime();

        // ajax请求
        ajax...

        // 在请求结束时计算请求响应时间
        if(bpit_elk_api_start_time){
            var end_time = (new Date()).getTime();
            var load_time = end_time - bpit_elk_api_start_time;
            window.bpitCommonDataLog({
                group   : 'yach',
                project : 'yach_86_index',
                env     : 'online',
                api     : '/ucenter/user/login',
                time    : load_time,
		yachid	: '123',
		workcode: '123',
		version	: '0.0.1'
            });
        }   
    </script>

接口响应时间示例2:react类的应用-ajax请求接口

    var bpitCommonData = require('bpit.common.data');
    
    // 在请求开始时记录开始时间
    var bpit_elk_api_start_time = (new Date()).getTime();

    // ajax请求
    ajax...

    // 在请求结束时计算请求响应时间
    if(bpit_elk_api_start_time){
        var end_time = (new Date()).getTime();
        var load_time = end_time - bpit_elk_api_start_time;
        bpitCommonData.log({
            group   : 'yach',
            project : 'yach_86_index',
            env     : 'online',
            api     : '/ucenter/user/login',
            time    : load_time,
	    yachid  : '123',
	    workcode: '123',
	    version : '0.0.1'
        });
    }

接口响应时间示例3:nodejs

封装request方法,在这个方法内计算接口响应时间

/**
 * post
 */
qiao.post = async function(options){
    // api start
    var api_start_time = (new Date()).getTime();

    // api
    var item = await qiao.ajax.postSync(options);

    // api end
    var api_end_time = (new Date()).getTime();
    var load_time = api_end_time - api_start_time;
    qiao.log({
        group   : 'yach',
        project : 'yach_86_index',
        env     : qiao.config.env,
        api     : qiao.configServer.url.getVersion,
        time    : load_time,
	yachid	: '123',
	workcode: '123',
	version	: '0.0.1'
    });

    return item;
};

数据打点,异步请求无需等待结果

/**
 * log
 */
qiao.log = function(options){
    // upload data
    var uploadData = ["https://es.zhiyinlou.com/log.js?"];
    uploadData.push("group=" + options.group);
    uploadData.push("&project=" + options.project);
    uploadData.push("&env=" + options.env);

    // api load time
    if(options.api && options.time){
        uploadData.push("&api=" + options.api);
        uploadData.push("&load_time=" + options.time);
    }

    var uploadDataUrl = uploadData.join('');
    qiao.ajax.get({url	: uploadDataUrl});
    console.log(uploadDataUrl);
};

version

0.0.7.20200521

  1. add agora

0.0.6.20200513

  1. add os

0.0.5.20200329

  1. add version

0.0.4.20200318

  1. add yachid
  2. add workcode

0.0.3.20200114

  1. publish
  2. del log

0.0.2.20191230

  1. load_time --> time
  2. modify readme.md
  3. add api load time
  4. md

0.0.1.20191219

  1. init
  2. modify readme.md
  3. add dist
0.1.7

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.2

4 years ago

0.1.3

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.3

4 years ago

0.0.4

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago