简介
@azure/core-tracing 是 Microsoft Azure 提供的一个 npm 包,用于帮助开发人员在应用程序中实现分布式追踪。使用该包可以追踪分布式应用的各个部分,并分析它们之间的相互作用。
安装
安装 @azure/core-tracing 很简单,只需要在终端或命令行中执行以下命令:
--- ------- -------------------
使用
创建追踪器
使用以下代码创建一个实例对象(tracer):
----- - ------------------ - - ------------------------------- ----- - ------ - - ---------------------------------- ----- ------ - --- ---------
创建跨度
要在应用程序中创建跨度,可以使用 createSpanFunction 函数。例如:
----- ------ - -------------------- ---------- --------------- -------------- -------------------- ------- ------ --- ----- --------------- - ----------------------
在上面的代码中,createSpanFunction 函数接受一个包含 namespace、packagePrefix 和 tracer 参数的 options 对象。namespace 和 packagePrefix 参数是可选的。然后,使用该函数的返回值来创建一个跨度。
跨度上下文
在应用程序中,您可以将跨度上下文传递给其他等待服务。例如:
-------- ----------------------- - ----- - ---- - - -------- ----- ------------------- - ------------------------- - ------- ---- --- -- --- -
在上面的代码中,processRequest 函数接受一个 context 参数,其中包含 span 对象。然后使用该 span 对象作为 parent 参数来创建一个跨度。
记录跨度
可以使用以下代码记录跨度:
-------- ------------ - ------------------------ --- - -- --- - ----- ------- - --------------------------- ----- --------------------- -------- ------------- --- - ------- - ---------------------- - -
在上面的代码中,doSomethingSpan.start() 开始跨度记录,然后在 try 块中执行一些工作。如果出现错误,则设置跨度状态,并在 finally 块中调用 doSomethingSpan.end() 结束跨度记录。
深度指南
OpenTelemetry
@azure/core-tracing 默认使用 OpenTelemetry 进行跨度追踪。如果您想自定义配置,请参考 OpenTelemetry 文档。
实现与导出
要将跨度导出到远程追踪系统(例如 Zipkin、Jaeger 或 Stackdriver Trace),可以使用适当的 SpanExporter 实现。
----- - ------------------- - - ---------------------------------- ----- -------- - --- ------------- ----- --------- - --- ------------------------------ -----------------------------------
在上面的代码中,MyExporter 是 SpanExporter 实现,SimpleSpanProcessor 是一种 SpanProcessor 实现。最后,将 SimpleSpanProcessor 添加到跟踪器中。
总结
@azure/core-tracing 是一个简单易用的 npm 包,用于实现分布式追踪。通过学习本文中的使用和实现指南,您可以更好地理解其使用方法并深入了解其潜力。如果您使用 Azure 服务来构建应用程序,该包将是必不可少的一部分。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedab56b5cbfe1ea0610731