npm包buho使用教程

什么是npm

npm是Node.js的包管理器,也是世界上最大的软件注册表之一。它包括了各种类型的软件包,例如:命令行工具、AngularJS组件、React Native组件、Grunt插件等等。npm是JS开发者非常重要的工具之一。它提供了比如安装、共享、分发代码的渠道等非常方便的功能。

什么是buho应用程序性能监控

buho是一个面向Node.js后端应用的性能监控工具,支持对CPU、内存、吞吐量、延迟等指标的监控。同时,buho自带web UI,可直观地展示监控统计数据,便于开发者进行问题追踪与性能优化。

如何使用buho

安装buho

在npm上安装buho:

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

使用buho

基本使用

在你的Node.js程序中,引入并初始化buho:

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

这里的buhoInstance就是buho的监控实例。buho Monitor将自动监控程序运行时的CPU和内存指标。

执行完上面的代码后,在可以在启动你的应用程序前,使用一下命令,开启buho web UI:

- ---- -----

buho web UI将在http://localhost:8000/中开启,可以在这里实时监控应用程序的运行情况。

控制buho的监控对象和周期

buho默认监控代理程序的CPU和内存指标,同时,buho默认在后台每5秒采集一次数据,这些参数均可以用户配置。

要修改默认配置,直接通过buho.init({options})进行设置即可,例如:

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

自定义监控指标

如果默认指标不能满足开发者的需求,可自定义监控指标。首先,还是在初始化buho监控实例时,通过参数customMetrics指定自定义指标即可:

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

使用Promise/Callbacks来更新自定义指标:

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

定期轮询数据库的自定义例子:

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

buho在Express中的使用

buho可以在Express.js中轻松地使用,首先引入bw-monitor-express包:

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

现在,只需在express的路由中添加buho指标即可:

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

在以上的代码中,requests-handled被作为自定义指标,并使用req.buho.increment()递增其值。

buho的指标分类

指标名称 说明
Process delay 以毫秒为时间单位, 每秒钟Buho Monitor测量的您的应用程序的处理时间
Process CPU % 对于每个完整的采样时间范围,Buho Monitor通过使用Linux prc文件系统来测量您的应用程序的处理时间
Memory usage 您的应用程序在内存中使用的字节数
Memory RSS usage 这是已在RAM中分配的字节数,也是为您的应用程序函数所用的工作内存数
Memory heap usage 堆占用的字节数
Memory heap limit 堆的最大容量
Memory used heap 这是堆被使用的字节数
Memory total heap 应用程序内可用的堆的最大字节数
Uptime 应用程序的运行时间

buho的web UI

buho自带web UI,因为它基于Express.js构建。buho的web UI默认部署在您的应用程序的8000端口上。 您可以通过http://localhost:8000访问buho的web UI,同样也可以使用Chrome的开发者工具查看网络请求的细节(如下图所示):

我们可以看到发起了一个可以查看监控数据点的XHR。在XHR中,姑且把该数据点称为直线Y,而该数据点有效的时间段(即该数据点是有效的起始时间和结束时间)为横坐标X范围。简单来说,导图中的XHR代表了请求的一次数据点,可以获取到该数据点的坐标以及监控项的名称等信息。

buho的进一步优化

buho对于基于Node.js的应用的性能监控非常友好,它为开发者打造了一个全面的,易于扩展的监测平台,可用于实时监控应用程序的压力测试和性能问题,而且界面流畅易用,使用起来非常方便。当然,为了更好的性能体验,还有一些优化方案可以使用,如websocket传输、elasticsearch后端存储、定时数据缓存刷新等等,这些都是开发人员可以进行改进的地方。更多的细节实现可以在buho官方文档中获取。

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


猜你喜欢

  • npm 包 bubble-gum-get 使用教程

    前言 在前端开发中,我们经常需要使用一些第三方的类库或工具,而 npm 就成了我们最常用的包管理工具之一。在 npm 上有数不清的包供我们选择,但如何快速找到并使用合适的包呢?今天就来介绍一款常用的 ...

    4 年前
  • npm 包 bubble-gum-has 使用教程

    在前端开发中,我们经常会使用到一些 npm 包,其中 bubble-gum-has 是一个非常实用的工具,它可以帮助我们快速判断一个对象是否拥有指定的属性或方法。本文就来详细讲解一下如何使用 bubb...

    4 年前
  • npm 包 bubble-gum-goto 使用教程

    前言 随着前端技术的不断发展,我们已经有越来越多的 npm 包能够帮助我们更高效地开发应用。其中,bubble-gum-goto 是一个十分优秀的 npm 包,它可以帮助我们实现页面内的滚动跳转效果。

    4 年前
  • npm 包 bubble-gum-set 使用教程

    前言 在前端开发中,我们经常需要操作数据,更好地展示和交互数据。而 bubble-gum-set 就是一个专门用于操作数据的 npm 包,它可以在前端轻松地实现数据集合的操作,同时提供了一些快捷的方法...

    4 年前
  • npm 包 bubble-gum-slice 使用教程

    在前端开发中,我们常常会使用一些开源的库和框架来提高开发效率和代码质量。其中,npm 包 bubble-gum-slice 可以帮助我们快速生成泡泡糖形状的切片。它非常实用且易于使用,本文将详细介绍 ...

    4 年前
  • npm 包 bubble-gum-tools 使用教程

    引言 在前端开发的过程中,我们常常需要使用工具库来提高效率,减少重复劳动,开发出更加优秀的项目。其中,npm 是前端开发中最流行的包管理工具之一,它几乎涵盖了前端开发所需的所有资源。

    4 年前
  • npm 包 btstrp 使用教程

    1. 简介 Bootstrap 是最流行的 HTML、CSS 和 JavaScript 开发框架,Bootstrap 包含了多种 HTML,CSS 和 JavaScript 插件,以及可帮助你快速为你...

    4 年前
  • npm 包 bui-antd 使用教程

    在前端开发中,如何选择好用的UI框架和组件库成为了一件很重要的事情。这时候,npm 包 bui-antd 可以为我们提供一些很好的帮助。 简介 bui-antd 是一款基于 Ant Design 的前...

    4 年前
  • npm 包 build-api 使用教程

    简介 npm(Node Package Manager)是一个用于 Node.js 的包管理器,提供了安装、升级、移除和管理 Node.js 代码包的功能。build-api 是一个非常有用的 npm...

    4 年前
  • npm 包 bui 使用教程

    在前端开发领域中,npm 是最常用的包管理工具之一。而 bui 这个 npm 包则是一个非常实用的工具,它可以大大提升开发效率,具有很高的使用价值。 本文将详细介绍 npm 包 bui 的使用方法,包...

    4 年前
  • npm 包 bstree 使用教程

    什么是 bstree? bstree 是一种数据结构,也就是二叉查找树。它利用了一个简单的规则,在树的每个节点左子树中的所有元素都小于该节点中的元素,而右子树中的所有元素都大于该节点中的元素。

    4 年前
  • npm 包 bstruct 使用教程

    在前端开发中,我们常常需要处理各种数据结构,如二进制数据、数据包等。npm 包 bstruct 可以帮助我们轻松处理各种二进制格式的数据,本文将介绍 bstruct 的使用教程。

    4 年前
  • npm 包 bstudio-sass 使用教程

    bstudio-sass 是一个帮助前端开发者编写 CSS 的 npm 包。它提供了许多功能,包括变量、混入、自定义函数等。在这篇教程中,我们将介绍如何使用 bstudio-sass 编写 CSS 文...

    4 年前
  • npm 包 bstudio 使用教程

    简介 bstudio 是一款基于 Vue.js 的前端 UI 组件库。它提供了丰富的 UI 组件和样式,可以快速构建高质量的 Web 应用界面。 bstudio 是一个 npm 包,我们可以通过 np...

    4 年前
  • npm 包 bswagger 使用教程

    bswagger 是一款基于 Node.js 平台的 Swagger 工具,用于生成 API 文档和进行 API 调试。它具有简单易用、可配置性强、支持多种语言等特点,在前端开发中得到广泛应用。

    4 年前
  • npm 包 bubble-sort-js 使用教程

    介绍 npm 包 bubble-sort-js 是一个基于 JavaScript 实现的冒泡排序算法的工具库。它可以帮助前端开发者更快、更方便地对数组进行排序操作。

    4 年前
  • npm 包 bubble_babble 使用教程

    在前端开发中,有时需要对数据进行加密或者生成识别码。其中,bubble_babble 是一种生成口令的方式之一。它的优点在于生成的口令易读好记且绝不重复,而且可以避免敏感信息的直接暴露。

    4 年前
  • npm 包 browserify-styles 使用教程

    简介 browserify-styles 是一个基于 Browserify 的 npm 包,可以将 CSS 样式文件打包到 JavaScript 中,确保样式规则能够正确地被浏览器识别。

    4 年前
  • npm 包 browserify-svg 使用教程

    介绍 browserify-svg 是一个可以将 SVG 文件转换为 JavaScript 模块的 npm 包。通过使用该包,我们可以将 SVG 图标嵌入到我们的前端项目中,再也不用手动复制粘贴 SV...

    4 年前
  • npm 包 browserify-templatefy 使用教程

    1. 简介 browserify-templatefy 是一个 npm 包,它可以将模板文件转换为 JavaScript 函数,以便在浏览器中使用。它可以与 browserify 配合使用,实现在浏览...

    4 年前

相关推荐

    暂无文章