npm 包 @piigo/express-node-metrics 使用教程

阅读时长 6 分钟读完

@piigo/express-node-metrics 是一个用于在 Node.js 应用程序中记录指标的 npm 包。它提供了多种指标类型,并且可以方便地集成到现有的 Express 应用程序中。本文将介绍如何使用该包来收集应用程序的运行时统计信息。

安装

要使用 @piigo/express-node-metrics,首先需要将其安装到项目中。可以使用 npm 进行安装:

集成

在 Express 应用程序中使用 @piigo/express-node-metrics 很简单。只需要将其导入到应用程序中,并使用 app.use() 将其注册到路由中:

使用 app.use()@piigo/express-node-metrics 注册到应用程序时,中间件会自动添加 /metrics 路由。该路由将返回包含运行时指标的 JSON 文档。

指标

@piigo/express-node-metrics 提供了多种指标类型,包括:

  • 进程指标(Process Metrics),例如 CPU 时间和内存使用情况。
  • HTTP 指标(HTTP Metrics),例如请求开始时间和请求持续时间。
  • 自定义指标(Custom Metrics),可以记录任何应用程序特定的指标。

进程指标

进程指标包括 CPU 时间和内存使用情况。要启用进程指标,只需要在 metricsMiddleware() 中向其传递 options 对象,并将 processMetrics 设置为 true 即可:

除了启用进程指标之外,还可以配置其他选项:

  • interval: 以毫秒为单位的记录间隔,默认为 1000
  • percentiles: 要记录的百分位数列表,默认为 [0.5, 0.9, 0.95, 0.99]

HTTP 指标

HTTP 指标包括请求开始时间、请求持续时间等。要启用 HTTP 指标,只需要在 metricsMiddleware() 中向其传递 options 对象,并将 httpMetrics 设置为 true 即可:

除了启用 HTTP 指标之外,还可以配置其他选项:

  • timeDigits: 时间指标的小数位数,默认为 3
  • timeUnits: 时间指标的单位列表,默认为 ['s', 'ms', 'μs', 'ns']

自定义指标

自定义指标允许应用程序记录任何指标。要添加自定义指标,请使用 metricsMiddleware() 返回的 metrics 对象,并调用其中的方法:

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

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

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

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

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

示例代码

下面是一个完整的示例,演示如何使用 @piigo/express-node-metrics 收集应用程序的指标:

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

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

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

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

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

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

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

在该示例中,我们创建了一个自定义计数器和一个自定义直方图,并在路由处理程序中增加了它们的值。通过使用 metricsMiddleware(),我们可以仅使用一行代码将中间件注册到应用程序中。

结论

@piigo/express-node-metrics 是一款非常方便易用的 npm 包,可以轻松地收集应用程序运行时的指标。无论是进程指标、HTTP 指标、还是自定义指标,它都提供了丰富的选项,可以轻松地满足应用程序中的各种需求。如果你正在构建一个 Node.js 应用程序,并且需要进行运行时监控和指标收集,那么 @piigo/express-node-metrics 绝对值得尝试!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6006736f890c4f727758408c

纠错
反馈