Skip to content

thinkjs/lightkeeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lightkeeper

npm Travis Coveralls David

pharos data send script for web. Support UMD, AMD, CommonJS in Browser.

Installation

npm install lightkeeper --save-dev

How To Use

UMD

You can use with script tag easily like:

<script 
  src="https://unpkg.com/lightkeeper/dist/pharos.min.js"
  data-siteid="1"
  data-host="//pharos.eming.li"  
></script>
<script type="text/javascript">
window.addEventListener('load', function() {
  pharos.monitor();
});
</script>

Webpack

We also support commonjs require in webpack or rollup like:

const Pharos = require('lightkeeper');
const site_id = 1;
const host = 'https://pharos.eming.li';

const pharos = new Pharos(site_id, host);
pharos.monitor();

API

pharos.monitor()

Send performance to server, return Promise.

pharos.add(key, val)

Allow develops add customized performance data. And the val must be a Number, otherwise, it will failed. And return true if added successfully.

pharos.add('render', 300);

pharos.add({
  render: 300,
  footer: 58
});

pharos.delete(infoKeys)

Remove one or more keys from the performance data. And return true if deleted successfully.

pharos.delete('render');

pharos.delete('loadPage', 'ttfb', 'lookupDomain');

pharos.clear()

Remote all keys from the performance data. And return old data if clear successfully.

const old = pharos.clear();

console.log(old);
//{loadPage: 0, ttfb: 0, lookupDomain: 0}

pharos.search(key)

Return the value of the specified parameter from the performance data.

pharos.add('footer', 100);

pharos.search('footer');
//100

pharos.time(name)

Work with pharos.timeEnd. To get a duration in milliseconds. pharos.time starts the time.

pharos.time('fib_time');
fib(20);
pharos.timeEnd('fib_time');
//fib_time: 0.007080078125ms
pharos.search('fib_time');
//0.007080078125

pharos.timeEnd(name)

pharos.timeEnd stops the timer and return the duration.

pharos.time('fib_time');
fib(20);
pharos.timeEnd('fib_time');
//fib_time: 0.007080078125ms
pharos.search('fib_time');
//0.007080078125

Contributing

Contributions welecome!

License

MIT