什么是 Elastic APM?
APM (Application Performance Monitoring) 是一种用于监测和分析应用程序性能的技术。 Elastic APM 是一个开源项目,为开发者提供了一种轻量级的方法来监测和诊断应用程序的性能问题和错误。
Elastic APM 提供了一个完全集成的收集器、可视化 UI 和可以快速掌握的指标,还能在代码级别跟踪事务。支持多语言,目前支持 Java、Node.js、Python、 Ruby 和 Go。
Elastic APM Node 及其优势
Elastic APM Node 是 Elastic APM 的 Node.js 库。它包含了一个中间件,可以很容易地与 Express 和 Koa 等流行的 Node.js 框架集成,支持异步请求,并提供了对性能指标和事务的监测和分析能力。
相对于其它 Node.js 的 APM 库,Elastic APM Node 具有以下优势:
支持异步请求和 Promise:Elastic APM Node 可以跟踪异步请求,并创建包含 Promise API 的事务跟踪。
容易配置和集成:Elastic APM Node 可以通过环境变量或配置文件进行配置和集成到 Node.js 应用程序中。
数据收集和可视化:Elastic APM Node 可以轻松收集、存储、可视化和检索性能数据。
Elastic APM Node 使用教程
安装 Elastic APM Node
为了开始使用 Elastic APM Node,我们需要安装该 NPM 包。可以使用以下命令进行安装:
npm install elastic-apm-node --save
创建 APM Agent
接下来,我们需要创建一个 APM Agent 实例。这个实例连接到 Elastic APM 服务器,以便 Elastic 能够收集有关我们应用程序的数据。以下是一个简单的示例:
const apm = require('elastic-apm-node').start({ serviceName: 'my-service-name', serverUrl: 'http://localhost:8200' })
这将创建一个新的 APM Agent,将其连接到 Elastic APM 服务器(服务器 URL 指定为“http:// localhost:8200”。
集成 Express 或 Koa
基于 Express 或 Koa 的 Node.js 应用程序可以轻松地集成 Elastic APM Node。以下是一个基于 Express.js 的示例:
-- -------------------- ---- ------- ----- ------- - ------------------ ----- --- - --------- ----- --- - ----------------------------------- ------------ -------------------------- ---------- ----------------------- -- --------------------------------- ------------ ----- ---- -- - --------------- -------- -- ---------------- -- -- - -------------------- --- --------- -- ---- ------- --
在这段代码中,我们创建了一个新的 Express 应用程序,并引入 Elastic APM Node。接下来,我们通过使用“apm.middleware.express()”将 Elastic APM Node 中间件添加到 Express 应用程序中。这将开始捕获我们应用程序中的性能数据。
记录自定义事务
除了自动跟踪常规 HTTP 请求,Elastic APM Node 还允许您记录自定义事务。例如:
-- -------------------- ---- ------- ----- --- - ----------------------------------- ------------ ------------------------------------- ---------- ----------------------- -- -------------------------------------- --------- ------------- -- - ----- ----------- - ---------------------- ----------------- -- -----
在这个例子中,我们创建了一个自定义事务,名称为“my-transaction”。当事务创建后,我们将等待 1 秒钟,然后结束事务。
结尾
通过 Elastic APM Node 监测应用程序性能是一项关键的任务,可以解决应用程序的性能问题并提高生产力。希望这个 NPM 包 Elastic APM Node 的使用教程对您有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/110963