Giter Site home page Giter Site logo

bombayjs-server's Introduction

build

npm run build

example

参考example目录

功能

  • 上报pv uv
  • 捕获error
  • 上报性能performance
  • 上报用户轨迹
  • 支持单页面
  • hack ajax fetch
  • 上报加载的资源
  • hack console
  • hack onpopstate
  • 暴露全局变量__bb
  • 埋点 sum avg msg
  • 无埋点方案

用法

token在bombayjs-admin后台申请

方法一

  <script src='../dist/bombay.js'></script>
  <script>
    new Bombay({
      token: 'xxx',
      reportUrl: 'http://127.0.0.1:7002/api/v1/report/web'
    })
  </script>

方法二

npm i bombayjs -S
import Bombay from 'bombayjs'
 var Bombay = require('bombayjs')

new Bombay({
  token: 'xxxx',
  reportUrl: 'http://127.0.0.1:7002/api/v1/report/web'
})

配置

{
  // 上报地址
  reportUrl: 'http://localhost:10000',
  // 提交参数
  token: '',
  // app版本
  appVersion: '1.0.0',
  // 环境
  environment: 'production',
  // 脚本延迟上报时间
  outtime: 300,
  // 开启单页面?
  enableSPA: true,
  // 是否自动上报pv
  autoSendPv: true,
  // 是否上报页面性能数据
  isPage: true,
  // 是否上报ajax性能数据
  isAjax: true,
  // 是否上报页面资源数据
  isResource: true,
  // 是否上报错误信息
  isError: true,
  // 是否录屏
  isRecord: true,
  // 是否上报行为
  isBehavior: true,
  ignore: {
    ignoreErrors: [],
    ignoreUrls: [],
    ignoreApis: ['/api/v1/report/web', 'livereload.js?snipver=1', '/sockjs-node/info'],
  },
  behavior: {
    console: ['log', 'error'], // 取值可以是"debug", "info", "warn", "log", "error"
    click: true,
  },
  // 最长上报数据长度
  maxLength: 1000,
}

bombayjs-server's People

Contributors

18613109040 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bombayjs-server's Issues

dev start报错

dev:
\bombayjs-server\node_modules\ioredis\built\redis\index.js:282:31)
at Object.onceWrapper (events.js:286:20)
at Socket.emit (events.js:198:13)
at Socket._onTimeout (net.js:442:8)
at ontimeout (timers.js:436:11)
at tryOnTimeout (timers.js:300:5)
at listOnTimeout (timers.js:263:5)
at Timer.processTimers (timers.js:223:10)
errorno: "ETIMEDOUT"
code: "ETIMEDOUT"
syscall: "connect"
name: "ETIMEDOUTError"
pid: 16336
hostname: DESKTOP-BMEJ56P

start:
Internal Server Error, real status: 500

[Bug Report] 无法启动

运行步骤如下,无法启动,还请麻烦帮忙看下?

git clone https://github.com/bombayjs/bombayjs-server.git
cd bombayjs-server
cnpm i
npm run dev

运行环境:

node -v: v12.13.0
npm -v 6.12.0
tsc -v: Version 3.7.2
2020-01-15 12:42:02,952 INFO 21956 [master] agent_worker#1:21961 started (2793ms)

/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@ts-node/src/index.ts:261
    return new TSError(diagnosticText, diagnosticCodes)
           ^
TSError: [egg-core] load file: /Users/lambert/Temp/bombayjs-server/app/service/dimension.ts, error: ⨯ Unable to compile TypeScript:
app/service/dimension.ts(25,51): error TS2339: Property 'desc' does not exist on type 'TErrorInfo'.
app/service/dimension.ts(117,51): error TS2339: Property 'desc' does not exist on type 'TErrorInfo'.

    at createTSError (/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@ts-node/src/index.ts:261:12)
    at getOutput (/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@ts-node/src/index.ts:367:40)
    at Object.compile (/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@ts-node/src/index.ts:558:11)
    at Module.m._compile (/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@ts-node/src/index.ts:439:43)
    at Module._extensions..js (internal/modules/cjs/loader.js:973:10)
    at Object.require.extensions.<computed> [as .ts] (/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@ts-node/src/index.ts:442:12)
    at Module.load (internal/modules/cjs/loader.js:812:32)
    at Function.Module._load (internal/modules/cjs/loader.js:724:14)
    at Module.require (internal/modules/cjs/loader.js:849:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.loadFile (/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@egg-core/lib/utils/index.js:27:19)
    at getExports (/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@egg-core/lib/loader/file_loader.js:199:23)
    at ContextLoader.parse (/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@egg-core/lib/loader/file_loader.js:158:25)
    at ContextLoader.load (/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@egg-core/lib/loader/file_loader.js:67:24)
    at AppWorkerLoader.loadToContext (/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@egg-core/lib/loader/egg_loader.js:408:28)
    at AppWorkerLoader.loadService (/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@egg-core/lib/loader/mixin/service.js:24:10)
[2020-01-15 12:42:06.308] [cfork:master:21956] worker:21964 disconnect (exitedAfterDisconnect: false, state: disconnected, isDead: false, worker.disableRefork: true)
[2020-01-15 12:42:06.308] [cfork:master:21956] don't fork, because worker:21964 will be kill soon
2020-01-15 12:42:06,308 INFO 21956 [master] app_worker#1:21964 disconnect, suicide: false, state: disconnected, current workers: ["1"]
[2020-01-15 12:42:06.309] [cfork:master:21956] worker:21964 exit (code: 1, exitedAfterDisconnect: false, state: dead, isDead: true, isExpected: false, worker.disableRefork: true)
2020-01-15 12:42:06,312 ERROR 21956 nodejs.AppWorkerDiedError: [master] app_worker#1:21964 died (code: 1, signal: null, suicide: false, state: dead), current workers: []
    at Master.onAppExit (/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@egg-cluster/lib/master.js:510:21)
    at Master.emit (events.js:210:5)
    at Messenger.sendToMaster (/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@egg-cluster/lib/utils/messenger.js:137:17)
    at Messenger.send (/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@egg-cluster/lib/utils/messenger.js:102:12)
    at EventEmitter.<anonymous> (/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@egg-cluster/lib/master.js:353:22)
    at EventEmitter.emit (events.js:215:7)
    at ChildProcess.<anonymous> (internal/cluster/master.js:188:13)
    at Object.onceWrapper (events.js:300:26)
    at ChildProcess.emit (events.js:210:5)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
name: "AppWorkerDiedError"
pid: 21956
hostname: lamberts-MacBook-Pro.local

2020-01-15 12:42:06,313 ERROR 21956 [master] app_worker#1:21964 start fail, exiting with code:1
2020-01-15 12:42:06,313 ERROR 21956 [master] exit with code:1
2020-01-15 12:42:06,326 ERROR 21961 [agent_worker] receive disconnect event on child_process fork mode, exiting with code:110
2020-01-15 12:42:06,329 ERROR 21961 [agent_worker] exit with code:110
Error: /Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@egg-bin/lib/start-cluster {"typescript":true,"declarations":true,"port":7002,"workers":1,"baseDir":"/Users/lambert/Temp/bombayjs-server","framework":"/Users/lambert/Temp/bombayjs-server/node_modules/egg"} exit with code 1
    at ChildProcess.<anonymous> (/Users/lambert/Temp/bombayjs-server/node_modules/[email protected]@common-bin/lib/helper.js:56:21)
    at Object.onceWrapper (events.js:300:26)
    at ChildProcess.emit (events.js:210:5)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12) {
  code: 1
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] dev: `egg-bin dev --port=7002`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/lambert/.npm/_logs/2020-01-15T04_42_06_350Z-debug.log

启动报错

启动日志如下:

[egg-ts-helper] create typings/app/extend/application.d.ts (3ms)
[egg-ts-helper] create typings/app/extend/context.d.ts (4ms)
[egg-ts-helper] create typings/app/extend/helper.d.ts (5ms)
[egg-ts-helper] create typings/app/controller/index.d.ts (3ms)
[egg-ts-helper] create typings/app/middleware/index.d.ts (1ms)
[egg-ts-helper] create typings/app/model/index.d.ts (2ms)
[egg-ts-helper] create typings/config/index.d.ts (16ms)
[egg-ts-helper] create typings/config/plugin.d.ts (2ms)
[egg-ts-helper] create typings/app/service/index.d.ts (6ms)
[egg-ts-helper] create typings/app/index.d.ts (1ms)
2021-02-26 10:59:15,313 INFO 1480 [master] node version v12.16.3
2021-02-26 10:59:15,314 INFO 1480 [master] egg version 2.29.3
2021-02-26 10:59:19,143 INFO 1480 [master] agent_worker#1:1485 started (3796ms)
(node:1494) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
(node:1494) DeprecationWarning: Listening to events on the Db class has been deprecated and will be removed in the next major version.
(node:1494) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.
2021-02-26 10:59:26,701 ERROR 1494 [egg-redis] client error: ClusterAllFailedError: Failed to refresh slots cache.
at tryNode (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/ioredis/built/cluster/index.js:392:31)
at /Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/ioredis/built/cluster/index.js:409:21
at /Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/ioredis/built/cluster/index.js:657:24
at run (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/ioredis/built/utils/index.js:156:22)
at tryCatcher (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/standard-as-callback/built/utils.js:11:23)
at /Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/standard-as-callback/built/index.js:30:51
at processTicksAndRejections (internal/process/task_queues.js:97:5) {
lastNodeError: [ReplyError]
}
2021-02-26 10:59:26,702 ERROR 1494 nodejs.ClusterAllFailedError: Failed to refresh slots cache.
at tryNode (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/ioredis/built/cluster/index.js:392:31)
at /Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/ioredis/built/cluster/index.js:409:21
at /Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/ioredis/built/cluster/index.js:657:24
at run (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/ioredis/built/utils/index.js:156:22)
at tryCatcher (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/standard-as-callback/built/utils.js:11:23)
at /Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/standard-as-callback/built/index.js:30:51
at processTicksAndRejections (internal/process/task_queues.js:97:5)
lastNodeError: {"command":{"name":"cluster","args":["slots"]}}
pid: 1494
hostname: fengdeMacBook-Pro.local

2021-02-26 10:59:26,708 ERROR 1494 [-/127.0.0.1/-/1ms GET /] nodejs.ClusterAllFailedError: Failed to refresh slots cache.
at tryNode (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/ioredis/built/cluster/index.js:392:31)
at /Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/ioredis/built/cluster/index.js:409:21
at /Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/ioredis/built/cluster/index.js:657:24
at run (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/ioredis/built/utils/index.js:156:22)
at tryCatcher (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/standard-as-callback/built/utils.js:11:23)
at /Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/standard-as-callback/built/index.js:30:51
at processTicksAndRejections (internal/process/task_queues.js:97:5)
lastNodeError: {"command":{"name":"cluster","args":["slots"]}}
pid: 1494
hostname: fengdeMacBook-Pro.local

2021-02-26 10:59:26,709 ERROR 1494 nodejs.ClusterAllFailedError: Failed to refresh slots cache.
at tryNode (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/ioredis/built/cluster/index.js:392:31)
at /Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/ioredis/built/cluster/index.js:409:21
at /Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/ioredis/built/cluster/index.js:657:24
at run (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/ioredis/built/utils/index.js:156:22)
at tryCatcher (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/standard-as-callback/built/utils.js:11:23)
at /Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/standard-as-callback/built/index.js:30:51
at processTicksAndRejections (internal/process/task_queues.js:97:5)
lastNodeError: {"command":{"name":"cluster","args":["slots"]}}
pid: 1494
hostname: fengdeMacBook-Pro.local

2021-02-26 10:59:26,709 ERROR 1494 [app_worker] start error, exiting with code:1
[2021-02-26 10:59:26.759] [cfork:master:1480] worker:1494 disconnect (exitedAfterDisconnect: false, state: disconnected, isDead: false, worker.disableRefork: true)
[2021-02-26 10:59:26.759] [cfork:master:1480] don't fork, because worker:1494 will be kill soon
2021-02-26 10:59:26,759 INFO 1480 [master] app_worker#1:1494 disconnect, suicide: false, state: disconnected, current workers: ["1"]
[2021-02-26 10:59:26.760] [cfork:master:1480] worker:1494 exit (code: null, exitedAfterDisconnect: false, state: dead, isDead: true, isExpected: false, worker.disableRefork: true)
2021-02-26 10:59:26,778 ERROR 1480 nodejs.AppWorkerDiedError: [master] app_worker#1:1494 died (code: null, signal: SIGTERM, suicide: false, state: dead), current workers: []
at Master.onAppExit (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/egg-cluster/lib/master.js:510:21)
at Master.emit (events.js:310:20)
at Messenger.sendToMaster (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/egg-cluster/lib/utils/messenger.js:137:17)
at Messenger.send (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/egg-cluster/lib/utils/messenger.js:102:12)
at EventEmitter. (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/egg-cluster/lib/master.js:353:22)
at EventEmitter.emit (events.js:322:22)
at ChildProcess. (internal/cluster/master.js:193:13)
at Object.onceWrapper (events.js:417:26)
at ChildProcess.emit (events.js:310:20)
at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
name: "AppWorkerDiedError"
pid: 1480
hostname: fengdeMacBook-Pro.local

2021-02-26 10:59:26,785 ERROR 1480 [master] app_worker#1:1494 start fail, exiting with code:1
2021-02-26 10:59:26,787 ERROR 1480 [master] exit with code:1
2021-02-26 10:59:26,811 ERROR 1485 [agent_worker] receive disconnect event on child_process fork mode, exiting with code:110
2021-02-26 10:59:26,814 ERROR 1485 [agent_worker] exit with code:110
Error: /Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/egg-bin/lib/start-cluster {"typescript":true,"declarations":true,"port":7002,"workers":1,"baseDir":"/Users/feng/DFile/workspace/埋点/bombayjs-server","framework":"/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/egg"} exit with code 1
at ChildProcess. (/Users/feng/DFile/workspace/埋点/bombayjs-server/node_modules/common-bin/lib/helper.js:56:21)
at Object.onceWrapper (events.js:417:26)
at ChildProcess.emit (events.js:310:20)
at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) {
code: 1
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] dev: egg-bin dev --port=7002
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/feng/.npm/_logs/2021-02-26T02_59_26_851Z-debug.log

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.