npm 包 measured-reporting 使用教程

简介

measured-reporting 是一个用于测量和报告度量指标的 JavaScript 库。它可以帮助前端开发人员从应用程序层面上测量和记录关键性能指标和业务指标,以便更好地理解和优化应用程序的性能和用户体验。

该库提供了一套 API,包括测量器 API、装饰器 API 和指标 API,用于测量声明周期、耗时、成功、错误等度量指标。

安装

使用 npm 安装 measured-reporting

--- ------- ------ ------------------

测量器 API

创建测量器

引入库后,可以使用 measured-reporting 创建测量器:

------ - ----------- - ---- ---------------------

----- ----- - -------------------

这里我们创建了一个名为 app 的测量器。

记录运行时间

下面我们使用测量器来记录一段代码的运行时间:

----- -------- - ----- -------------------------- ----- -- -- -
  ------ ----- ------------
---

meter.measure() 接受两个参数:度量的名称和一个用于包装被测量代码的回调函数。

这里,我们用 db.select() 查询数据库,并在 async 函数中执行该查询。在回调函数中,我们返回查询结果。

meter.measure() 函数返回回调函数的返回值。在此示例中,我们将查询结果保存在 response 变量中。

记录事件

测量器还可以记录事件,如下所示:

-------------------------

获取度量指标

测量器会自动记录多种度量指标。要获取度量指标,请使用 meter.toJSON()

----- ------- - ---------------

这里我们获取了 app 测量器的度量指标。

装饰器 API

除了测量器 API,measured-reporting 还提供了装饰器 API,用于测量类方法和函数的运行时间。

使用装饰器测量函数

先定义一个函数:

-------- ------------ -
  -- -- --- - -- - --- -- -
    ------ --
  -
  ------ ----------- - -- - ----------- - ---
-

现在我们使用 measured-reporting 的装饰器 @measure() 来测量该函数的运行时间:

------ - ------- - ---- ---------------------

----- --------- -
  ----------
  ------ ------------ -
    -- -- --- - -- - --- -- -
      ------ --
    -
    ------ --------------------- - -- - --------------------- - ---
  -
-

现在,Fibonacci.calculate() 方法会自动被测量。度量指标将记录在名为 Fibonacci.calculate 的度量指标中。

指标 API

measured-reporting 还提供了指标 API,可用于记录和分析业务指标。

创建指标

首先,我们可以使用 measured-reporting 创建一个指标:

------ - ------------- - ---- ---------------------

----- ------------- - --------------------------------

这里我们创建了一个名为 requests.total 的计数器指标。

记录指标

接下来我们在应用程序代码的适当位置记录指标:

--------------------

我们在这里将计数器指标 requests.total 加 1。

获取指标值

最后,我们可以使用 requestsTotal.toJSON() 来获取计数器指标的值:

----- -------------- - -----------------------
----------------------------------

这里我们获取了计数器指标 requests.total 的值。

总结

使用 measured-reporting 库,我们可以方便地测量和记录度量指标。该库提供了测量器 API、装饰器 API 和指标 API,可以满足不同场景的度量需求。对指标的监控和分析可以帮助我们优化应用程序的性能和用户体验,提高整个团队的工作效率和产品质量。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/150150


猜你喜欢

  • npm 包 @svgr/babel-preset 使用教程

    在前端开发中,图像处理是一个十分常见的需求。在 React 开发中,我们经常需要将 SVG 文件转换成 JSX 组件。而 @svgr/babel-preset 就是一个帮助我们实现这一功能的 npm ...

    5 年前
  • npm 包 "@maegi/cli" 使用教程

    前言 在现代化的前端开发中,项目构建和打包已经成为不可或缺的一部分,为了更好的开发体验和前端开发效率,诸如 webpack、gulp、rollup 等构建工具应运而生。

    5 年前
  • npm 包 @hitbit/expo-svg-transformer 使用教程

    如果你开始在 React Native 项目中使用 SVG,你可能会发现它并不像在 Web 开发中那么容易。幸运的是,有一些工具可以帮助我们解决这些问题,其中一个是 @hitbit/expo-svg-...

    5 年前
  • npm 包 @hashicorp/mktg-assets 使用教程

    简介 @hashicorp/mktg-assets 是 HashiCorp 公司开发的一个 npm 包,用于加载 HashiCorp 官网的营销资产,比如样式表和图像文件等,方便开发者在自己的应用中使...

    5 年前
  • npm 包 @harryhope/svgrim 使用教程

    在前端开发中,使用 SVG 图像是非常常见的。随着项目越来越复杂,如何优雅地管理 SVG 文件就显得尤为重要。这时,@harryhope/svgrim 就可以派上用场了。

    5 年前
  • npm 包 @dr.pogodin/babel-preset-svgr 使用教程

    随着 Web 技术的不断进步,SVG 矢量图作为一种常见的图像格式,已经被广泛应用在设计、开发中。但是,SVG 文件的导入和使用会面临着一些问题,比如浏览器兼容性不好、SVG 文件体积过大等。

    5 年前
  • npm 包 @deal/parcel-plugin-svgr 使用教程

    如果你是一名前端开发者,并且对 SVG 图片的使用和处理比较感兴趣,那么,今天我要介绍的 npm 包 @deal/parcel-plugin-svgr 就是你需要的工具。

    5 年前
  • npm 包 @datapunt/asc-assets 使用教程

    前言 在现代的前端开发工作中,我们经常会用到各种各样的npm包来帮助我们快速地完成一些常见的任务。其中,@datapunt/asc-assets是一款非常实用的工具,它能够帮助我们更加方便地管理和加载...

    5 年前
  • npm 包 @agilatech/lynxari-vl6180-device 使用教程

    前言 @agilatech/lynxari-vl6180-device 是一个基于 Node.js 平台开发的 VL6180 近接传感器驱动程序。本文将为你提供该 npm 包如何使用的详细教程,以及如...

    5 年前
  • npm 包 @agilatech/lynxari-bme280-device 使用教程

    在前端开发中,使用 npm 包是很常见的一种方式。npm 包可以帮助我们快速实现某些特定功能,并提高开发效率。@agilatech/lynxari-bme280-device 是一个用于读取 BME2...

    5 年前
  • npm 包 spi-device 使用教程

    前言 在嵌入式系统的开发中,Serial Peripheral Interface (SPI) 是一种常用的通信协议。将其应用于Node.js 开发中,可以实现快速、可靠的数据传输,从而大大简化硬件程...

    5 年前
  • npm 包 @agilatech/lynxari-si1145-device 使用教程

    前言 @agilatech/lynxari-si1145-device 是一个 npm 包,用于创建与 Lynxari 平台通信的设备驱动程序。本文将详细介绍如何使用该包,以及它在前端开发中的应用。

    5 年前
  • npm 包 i2c-bus 使用教程

    简介 i2c-bus 是一个可以用来控制 I2C 总线的 Node.js 模块。它可以让你的 Node.js 应用程序通过 I2C 总线与外部设备通信。本篇文章将介绍如何安装、配置以及使用 i2c-b...

    5 年前
  • npm 包 @agilatech/lynxari-rmy85000-device 使用教程

    简介 @agilatech/lynxari-rmy85000-device 是一个针对 RMY85000 温度湿度传感器的 Node.js 设备驱动, 它通过 Lynxari API 与计算机通信。

    5 年前
  • npm 包 @agilatech/lynxari-htu21d-device 使用教程

    简介 @agilatech/lynxari-htu21d-device 是一个 npm 包,用于操作 HTU21D 温湿度传感器,可在 Raspberry Pi 或其他支持 Linux 的设备上使用,...

    5 年前
  • npm 包 @agilatech/lynxari-cozir5-device 使用教程

    介绍 @agilatech/lynxari-cozir5-device 是一个 npm 包,用于连接和控制 COZIR5 环境传感器的设备。COZIR5 环境传感器适用于工业控制和 HVAC 应用,可...

    5 年前
  • npm 包 @agilatech/lynxari-bmp183-device 使用教程

    前言 在现代工业控制系统中,传感器通常是极其重要的设备。它们收集大量的数据,并通过接口将其传输到控制器中。在传感器系统中,BMP183 是一款常用的气压计传感器。在本文中,我们将探讨使用 @agila...

    5 年前
  • npm 包 amd-optimize 使用教程

    在前端开发过程中,通过引入 amd 模块可以使代码更加模块化,方便维护和开发。但是在生产环境中,如果一个页面依赖多个 amd 模块,就需要加载多个 js 文件,这样会降低页面的性能。

    5 年前
  • npm 包 @types/random-number 使用教程

    随机数是计算机程序中常使用的一种数据类型,常常用于模拟真实世界中的随机事件,例如抽奖、随机排序等。在前端开发中,我们经常需要使用随机数来生成验证码、随机颜色、随机位置等。

    5 年前
  • npm 包 sourcescrapper-puppeteer-runner 使用教程

    近年来,随着前端技术的不断发展,web 爬虫已经成为前端开发者日常工作的一部分。npm 包 sourcescrapper-puppeteer-runner 就是一个较为实用的 web 爬虫工具。

    5 年前

相关推荐

    暂无文章