计算接口加载时长

// 维护已有的打点事件名称 防止命名重复
const eventNameList = [
  'oh1Click'
]

class Duration {
  constructor () {
    this.eventMap = {}
  }

  // 打点设置开始时间
  setStartTime (eventName) {
    // 判断该事件名称是否注册
    if (!eventNameList.includes(eventName)) {
      throw new Error(`${eventName} 名称不存在 请在eventNameList文件中添加`)
    }
    // 判断该事件名称是否存在 存在 threw error
    if (eventNameList.indexOf(eventName) !== eventNameList.lastIndexOf(eventName)) {
      throw new Error(`${eventName} 名称已经存在 请更改名称`)
    }
    this.eventMap[eventName] = {}
    this.eventMap[eventName].startTime = new Date().getTime()
  }

  // 计算 Duration
  getDuration (eventName) {
    const startTime = (this.eventMap[eventName] || {}).startTime
    if (startTime) {
      const duration = new Date().getTime() - startTime
      const log =  {
        eventName,
        duration
      }
      // 上报
      console.log(log)
    } else {
      throw new Error(`${eventName} 未设置开始打点时间`)
    }
  }

  start (eventName) {
    if (Array.isArray(eventName)) {
      eventName.forEach((item) => {
        this.setStartTime(item)
      })
    } else {
      this.setStartTime(eventName)
    }
  }

  end (eventName) {
    if (Array.isArray(eventName)) {
      eventName.forEach((item) => {
        this.getDuration(item)
      })
    } else {
      this.getDuration(eventName)
    }
  }
}

const duration = new Duration

使用

// 单个动作打点
// 开始计时
duration.start('loading-start')

// 计时结束
duration.end('hh')

// 多个动作同步-联合打点
// 开始
duration.start(['oh1Click', 'hh'])
 
// 结束
duration.end(['hh','oh1Click'])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,我们需要理解Ch438是一个什么设备。Ch438是一款USB转串口芯片,在使用时需要通过驱动程序进行识别、加载和控制。如果在驱动加载时卡死,可能有以下几种原因: 1. 驱动兼容性问题:可能驱动与操作系统版本不兼容,或者驱动本身存在BUG,导致加载时卡死。可以尝试更新驱动程序或者与厂商联系解决。 2. 硬件故障问题:如果是第一次使用设备,首先需要确保设备没有故障。可以尝试更换其他USB接口或其他设备测试。 3. 系统异常或冲突问题:其他的驱动程序或软件可能正在运行中,可能会与当前加载的驱动程序产生冲突,导致系统异常或卡死。可以尝试关闭其他软件,或者使用“安全模式”尝试加载驱动程序。 总之,Ch438驱动加载卡死问题可能由多种原因造成,需要仔细排查具体原因,寻求相应的解决方案。 ### 回答2: 遇到ch438驱动加载时一直卡死,可能有以下几种情况: 首先,检查驱动是否正确安装。如果驱动没有正确安装,会导致设备无法正常工作,而且很可能会出现加载时卡顿的情况。 其次,检查驱动版本与系统是否兼容。在安装驱动程序之前,应该要确认驱动版本和系统版本是否匹配,如果不匹配,也会导致加载时卡死的情况出现。 另外,可能是设备连接的USB口出现问题。这种情况下可以尝试更换其他可用的USB接口,或者检查USB接口是否已经损坏。 最后,也有可能是计算机的硬件问题所致,如果长时间以来使用计算机,可能出现硬件电压不稳定、内存问题、硬盘错误等问题,都可能导致设备加载时卡死。 如果以上除确认都没有问题,并且问题仍然存在,那么最好的方法就是联系设备厂家或者寻求专业技术支持,让他们来协助确认和解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值