前言
@opentelemetry/core 是一个用于构建分布式系统、监控和调度的 JavaScript 库。作为开放性业界标准 OpenTelemetry 的核心组件之一,@opentelemetry/core 是一个特别方便且强大的 npm 包,为开发者提供了一种简单的方法来对分布式系统进行性能管理和监控。本文将介绍如何使用 @opentelemetry/core。
安装
使用 npm 命令行安装@opentelemetry/core:
npm install @opentelemetry/core
使用
初始化
我们首先需要初始化 OpenTelemetry,以便它能够开始进行跟踪。以下是如何初始化:
-- -------------------- ---- ------- ----- - -------------------- -------------------- ------------------- - - ---------------------------------- ----- - ------------------------ - - ------------------------------------------ ----- -------- - --- ---------------------- -- ------------ ---------- ----- -------- - --- ---------------------- -- -------------------- ----- ------------- - --- ------------------------------ -- - --------- -- --------- ----------------------------------------- -- ----- ---- -- -------------------------- ----------------- - -- ------ ---------- ------------- ----------------------------------------------- -- --- -- - -------- ----- ------ --------- --------------------
在这种情况下,我们首先创建一个 BasicTracerProvider。该对象是 OpenTelemetry 的一个关键对象,它存储跟踪器和处理器的每个实例。接下来,我们设置了 ConsoleSpanExporter 和 SimpleSpanProcessor。这两个对象用于处理跟踪数据以及将其输出到控制台。
最后,我们使用 registerInstrumentations 函数注册内置的 HTTP 仪器,将 @opentelemetry/instrumentation-http 的函数导入到其对象中。
示例代码
我们看一个示例,它使用 Express 库作为 Web 应用程序的基础组件。在此示例中,我们将启用跟踪器并通过控制台输出跟踪数据。
-- -------------------- ---- ------- ----- ------- - ------------------- ----- - ------------------ - - ------------------------------- ----- - ---------------------- - - -------------------------------------------------- ----- - ------------------------ - - ------------------------------------------ ----- --- - ---------- -- --- ------ --------- ----- -------- - --- --------------------- -- ------------- -------------------- -- -- ------- -------- ----- ---------------------- - --- ------------------------ ------------- ------------------ --- -- --------- -------------------------- ----------------- - ----------------------- -- --- -- -- --- -- ---- --- ------------------ ------------ ----- ---- -- - ----- ------ - ------------------------------------- ----- ---- - --------------------------------------- - ----- -- -- ------ --- ------------------------------- -------- ----------- ------ --------------- --------- --- -- -------- ----- ------------ ----- ---- -- - ------ ---------------------- -------- ---- ------ --- --- ---------------- -- -- - ------------------- ------- -- ---- ------- ---
这个例子中,我们通过 Express 库启动了一个简单的 Web 应用程序。在应用程序中,我们首先创建了一个 NodeTracerProvider 实例,用于初始化我们的跟踪器。
接下来,我们使用 ExpressInstrumentation 仪器自动追踪请求,并注册了其他内置仪器。
最后,我们使用 Express 库定义了一个 GET 路由,该路由返回 HTTP OK(200)响应。在此路由中,我们手动添加了追踪标记,并完成了跟踪操作。最后,我们定义一个回退路由,如果请求的路径不符合任何其他路由,该路由将返回 404 Not Found 响应。
总结
在本文中,我们了解了如何使用 npm 包 @opentelemetry/core 在分布式系统中进行监控和调试。我们介绍了如何安装 OpenTelemetry,以及如何初始化和使用它,还提供了一个例子。希望这篇文章对您有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f3802ffdbf7be33b2566f65