npm 包 zipkin-instrumentation-axios 使用教程

阅读时长 4 分钟读完

在前端开发中,对于网站或系统的性能监控和调试非常重要。Zipkin 是一个分布式跟踪系统,对于了解系统性能、调试和优化非常有帮助。Zipkin 提供了多种语言的客户端,而 zipkin-instrumentation-axios 就是其中之一。

zipkin-instrumentation-axios 是基于 axios 的拦截器,用于将调用 Zipkin API 并将调用信息传递给 Zipkin 服务器。使用 zipkin-instrumentation-axios 时,只需要简单地引入 npm 包并添加一些配置就可以开始跟踪您的应用程序了。

安装

使用 npm 安装 zipkin-instrumentation-axios:

配置

接下来是实际的配置。这里我们使用 Zipkin 的开源演示版本(https://zipkin.io/pages/quickstart)来演示。

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

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

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

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

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

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

上述代码中,我们首先引入 zipkin-instrumentation-axios、zipkin、zipkin-context-cls 和 zipkin-transport-http。之后,我们定义了一些常量:CLS_NAMESPACE(CLS 的命名空间)和 zipkinBaseUrl(Zipkin 服务器的基本 URL)。

接下来,我们定义了一个 BatchRecorder,它使用 HttpLogger 作为记录器并将 Zipkin 后端地址配置为 zipkinBaseUrl。然后,我们创建了一个 Tracer,使用以上配置和 CLSContext 来实例化它。

最后,我们包装了 axiosInstance,以让它使用我们新创建的 tracer。最后,我们使用 axios 执行一个简单的 GET 请求。

现在我们已经准备好了,接下来启动 Zipkin 服务器(在本例中为我们的演示实例)。访问 http://localhost:9411/zipkin/,将看到 Zipkin 的 UI。

现在,只要我们的应用程序有 HTTP 请求,它们就会被指向 Zipkin。尝试在浏览器中访问一个网站,然后回到 Zipkin UI 并查看跟踪记录。我们可以看到刚刚的 GET 请求被记录在这里了!

总结

通过文中的介绍,我们可以看到,使用 zipkin-instrumentation-axios 来实现前端应用程序的 Zipkin 跟踪相当简单。利用本文介绍的方法和步骤,可以轻松使用和配置 Zipkin,深入了解和调试您的应用程序。

如果您想要更多深度且有关于 zipkin-instrumentation-axios 的指导性教程,建议访问官方文档(https://github.com/openzipkin/zipkin-js/tree/master/packages/zipkin-instrumentation-axios)或更深入学习 Zipkin(https://zipkin.io/ )。

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

纠错
反馈