在 web 应用开发中,追踪请求的状态是非常重要的。这样做可以帮助您了解应用程序的性能和问题所在。 在 Node.js/Express 应用程序中使用 express-request-tracker 可以很容易地收集和追踪请求信息。让我们看看如何使用这个有用的 npm 包。
步骤 1 — 安装 express-request-tracker
在安装 express-request-tracker 之前,确保您已经安装了 Node.js 和 npm。我们将使用 npm 来安装 express-request-tracker。使用以下命令来安装:
npm install express-request-tracker --save
步骤 2 — 引入 express-request-tracker
将 express-request-tracker 引入您的 Node.js/Express 应用程序中。在 app.js 文件中添加以下代码:
const requestTracker = require('express-request-tracker');
步骤 3 — 使用 requestTracker 中间件
在您的 Express 应用程序中使用 requestTracker 中间件。在 app.js 文件中的所有路由后面使用以下代码:
app.use(requestTracker());
步骤 4 — 配置并启动应用程序
在 app.js 文件中,确保您已经配置完全了 Express 应用程序。将以下代码添加到您的文件中:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- --- - ---------- -- --- --- --- -------------------------- -- -- ------------ ----- ---- -- - --------------- --------- --- -- ----- ---------------- -- -- - ------------------- ---------- ---
对 requestTracker 中间件的深度探讨
如果您希望更深入了解 requestTracker 中间件,这里将帮助您了解其如何工作。 requestTracker 中间件使用以下数据字段来追踪每个请求:
requestId
:每个请求都有一个唯一标识符,以便跟踪和分析请求数据。requestStartTime
:请求开始处理的日期和时间。requestUrl
:请求的 URL,包括查询字符串和参数。requestMethod
:HTTP 请求的方法。responseSentTime
:在请求结束之前响应已经发送的日期和时间。requestDurationMs
:请求耗时,即从 Web 应用程序开始处理请求到成功响应之间的时间(以毫秒为单位)。responseSizeBytes
:响应大小,即传递给客户端的字节数量。
您可以使用该数据来了解 Web 应用程序的性能统计信息,例如请求持续时间、响应大小以及任何可能的性能瓶颈。您可以将这些统计信息保存到数据库中,以便稍后进行分析。
如何使用 requestTracker 数据
您可以使用 requestTracker 中间件提供的数据在终端中记录请求统计信息。您还可以将这些统计信息存储在数据库中以供稍后分析。
让我们看一下如何在终端中直接查看请求统计信息。添加以下代码来记录 requestTracker 数据:
app.use(function(req, res, next) { console.log(`requestId: ${req.requestId}, requestUrl: ${req.requestUrl}, requestMethod: ${req.requestMethod}, responseSentTime: ${req.responseSentTime}, requestDurationMs: ${req.requestDurationMs}, responseSizeBytes: ${req.responseSizeBytes}`); next(); });
现在,运行您的应用程序并尝试发送一些请求。在终端中,您将看到类似以下内容的输出:
requestId: 7ab70490-2a87-11e9-9b9d-e3ff4fca61ea, requestUrl: /, requestMethod: GET, responseSentTime: 2019-02-05T01:08:38.618Z, requestDurationMs: 5, responseSizeBytes: 11
您可以使用类似的方式将 requestTracker 数据保存在数据库中。您需要使用适当的 npm 包来连接到所选数据库。在这里,我们将使用 MongoDB 数据库。
添加以下代码以将 requestTracker 数据存储在 MongoDB 数据库同时还将数据记录在终端中:
-- -------------------- ---- ------- ----- -------- - -------------------- -------------------------------------------------------- - ---------------- ---- --- ----- ------------- - --- ----------------- ---------- ------- ----------- ------- -------------- ------- ----------------- ----- ------------------ ------- ------------------ ------ --- ----- ------- - ------------------------- --------------- --------------------- ---- ----- - ----- ------- - --- --------- ---------- -------------- ----------- --------------- -------------- ------------------ ----------------- --------------------- ------------------ ---------------------- ------------------ --------------------- --- -------------------------- - -- ----- ----------------- --- ----------------------- ----------------- ----------- ------------------ -------------- --------------------- ----------------- ------------------------ ------------------ ------------------------- ------------------ --------------------------- ------- ---
在上面的代码中,我们首先通过相应的参数将 requestTracker 数据存储到 Request
模型中。然后,我们将数据存储在 MongoDB 数据库中。最后,我们在终端中记录这些数据。
现在您已经了解了如何使用 requestTracker npm 包。您已经安装了该 npm 包、添加了相应的代码以便将统计数据存储在终端和 MongoDB 数据库。我们希望这篇文章将有助于提高您的 Node.js/Express 应用程序的性能并使其更加可靠。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005519a81e8991b448cef4c