https://github.com/thinkjs/lightkeeper
pharos data send script for web.
https://github.com/thinkjs/lightkeeper
Last synced: about 1 year ago
JSON representation
pharos data send script for web.
- Host: GitHub
- URL: https://github.com/thinkjs/lightkeeper
- Owner: thinkjs
- License: mit
- Created: 2017-10-30T04:59:51.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-06-28T14:09:15.000Z (almost 7 years ago)
- Last Synced: 2025-03-22T03:51:20.255Z (about 1 year ago)
- Language: JavaScript
- Homepage: http://pharos.baomitu.com
- Size: 30.3 KB
- Stars: 3
- Watchers: 15
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# lightkeeper
[]()
[]()
[]()
[]()
pharos data send script for web. Support UMD, AMD, CommonJS in Browser.
## Installation
```sh
npm install lightkeeper --save-dev
```
## How To Use
### UMD
You can use with `script` tag easily like:
```html
window.addEventListener('load', function() {
pharos.monitor();
});
```
### Webpack
We also support commonjs require in webpack or rollup like:
```js
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.
```js
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.
```js
pharos.delete('render');
pharos.delete('loadPage', 'ttfb', 'lookupDomain');
```
### pharos.clear()
Remote all keys from the performance data. And return old data if clear successfully.
```js
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.
```js
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.
```js
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.
```js
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](https://github.com/thinkjs/lightkeeper/blob/master/LICENSE)