npm 包 elastic-apm-http-client 使用教程

阅读时长 5 分钟读完

引言

elastic-apm-http-client 是一个基于 Elastic APM 的 HTTP 客户端工具,它可以帮助前端开发者在 JavaScript 应用程序中集成 Elastic APM。在本文中,我们将详细讲解该 npm 包的使用方法、实现原理以及相关注意事项。

安装

在使用该 npm 包之前,需要先安装该工具,可以通过以下命令来进行安装:

安装完成之后,可以在你的项目中使用该工具。

使用方法

在引入该工具之前,需要先向 Elastic APM 服务器注册应用程序。具体方法请参考 Elastic APM 文档中的指导。

在应用程序注册完成之后,我们可以在项目中引入 elastic-apm-http-client 模块,然后进行相关配置。例如:

以上代码中,我们使用 ApmHttpClient 的构造函数初始化了一个实例,在初始化实例时,需要提供以下参数:

  • serviceName:指定应用程序名称。
  • secretToken:在 Elastic APM 服务器注册应用程序后,系统将自动生成一个密钥,我们可以使用该密钥进行应用程序身份验证。
  • serverUrl:指定 Elastic APM 服务器地址。

当初始化实例完成后,我们就可以开始使用该工具进行数据上报。

上报自定义事务

在代码中,我们可以使用 apmClient.startTransaction() 来启动一个事务,例如:

该命令用于启动一个名称为 'Test Transaction' 的事务,类型为 'custom'。接下来,你可以在该事务中进行相关操作:

在结束事务之前,我们可以向 transaction 对象中添加自定义信息。事务结束时,我们可以调用 transaction.end() 命令来关闭事务。

上报自定义错误

在代码中,我们可以使用 apmClient.captureError() 来捕获一个错误,例如:

该命令将会捕获发生的错误,并将错误信息上报到 Elastic APM 服务器。

上报自定义消息

在代码中,我们可以使用 apmClient.log() 来记录一个消息,例如:

该命令将会记录一条消息,包含以下信息:

  • 等级:INFO
  • 内容:message
  • 自定义属性:customProperty

配置示例

以下是一个完整的配置示例:

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

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

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

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

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

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

------------- -- -
  --- -
    ----------
  - ----- ------- -
    ------------------------------
  -
  ------------------
-- ------
展开代码

本示例中,我们使用了一个 setTimeout() 来模拟一个异步操作,并在操作结束后结束了该事务。在该示例中,我们使用了多个命令,包括:

  • apmClient.on('error', …):用于处理错误事件。
  • apmClient.on('logged', …):用于处理日志事件。
  • apmClient.startTransaction(…):用于启动一个事务。
  • apmClient.captureError(…): 用于捕获一个错误。
  • apmClient.log(…):用于记录一条消息。

总结

在本文中,我们学习了如何在前端应用程序中使用 Elastic APM 以及如何使用 elastic-apm-http-client 包来实现数据上报。我们了解到 elastic-apm-http-client 可以用于上报自定义事务、错误和消息,同时提供了相应的 API、事件等功能,帮助我们更好地管理、调优和维护前端应用程序。

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