你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

TracingClient interface

表示可与当前配置的 检测程序集成的客户端。

使用 createTracingClient 创建实例。

方法

createRequestHeaders(TracingContext)

创建一组请求标头,以将跟踪信息传播到后端。

parseTraceparentHeader(string)

将 traceparent 标头值分析为 <xref:TracingSpanContext>。

startSpan<Options>(string, Options, TracingSpanOptions)

启动给定范围,但不将其设置为活动范围。

必须使用 end 结束跨度。

大多数情况下,你会希望改用 withSpan

withContext<CallbackArgs, Callback>(TracingContext, Callback, CallbackArgs)

使用活动上下文包装回调并调用回调。 根据实现,这可能会设置全局可用的活动上下文。

如果要离开 SDK 的边界, () 对用户代码发出请求或回调,并且无法使用 withSpan API,则非常有用。

withSpan<Options, Callback>(string, Options, Callback, TracingSpanOptions)

将回调包装在跟踪范围中,调用回调,并关闭该范围。

这是使用跟踪的主要接口,将处理错误记录以及设置跨度的状态。

同步和异步函数都将等待,以反映跨度上的回调结果。

示例:

const myOperationResult = await tracingClient.withSpan("myClassName.myOperationName", options, (updatedOptions) => myOperation(updatedOptions));

方法详细信息

createRequestHeaders(TracingContext)

创建一组请求标头,以将跟踪信息传播到后端。

function createRequestHeaders(tracingContext?: TracingContext): Record<string, string>

参数

tracingContext
TracingContext

包含要传播的跨度的上下文。

返回

Record<string, string>

要添加到请求的标头集。

parseTraceparentHeader(string)

将 traceparent 标头值分析为 <xref:TracingSpanContext>。

function parseTraceparentHeader(traceparentHeader: string): undefined | TracingContext

参数

traceparentHeader

string

要分析的 traceparent 标头。

返回

undefined | TracingContext

跨度的特定于实现的标识符。

startSpan<Options>(string, Options, TracingSpanOptions)

启动给定范围,但不将其设置为活动范围。

必须使用 end 结束跨度。

大多数情况下,你会希望改用 withSpan

function startSpan<Options>(name: string, operationOptions?: Options, spanOptions?: TracingSpanOptions): { span: TracingSpan, updatedOptions: OptionsWithTracingContext<Options> }

参数

name

string

范围的名称。 按照约定,此应为 ${className}.${methodName}

operationOptions

Options

原始操作选项。

spanOptions
TracingSpanOptions

创建范围时要使用的选项。

返回

{ span: TracingSpan, updatedOptions: OptionsWithTracingContext<Options> }

TracingSpan 和更新的操作选项。

withContext<CallbackArgs, Callback>(TracingContext, Callback, CallbackArgs)

使用活动上下文包装回调并调用回调。 根据实现,这可能会设置全局可用的活动上下文。

如果要离开 SDK 的边界, () 对用户代码发出请求或回调,并且无法使用 withSpan API,则非常有用。

function withContext<CallbackArgs, Callback>(context: TracingContext, callback: Callback, callbackArgs: CallbackArgs): ReturnType<Callback>

参数

context
TracingContext

在回调范围内用作活动上下文的 TracingContext

callback

Callback

要调用的回调,将给定上下文设置为全局活动上下文。

callbackArgs

CallbackArgs

回调参数。

返回

ReturnType<Callback>

withSpan<Options, Callback>(string, Options, Callback, TracingSpanOptions)

将回调包装在跟踪范围中,调用回调,并关闭该范围。

这是使用跟踪的主要接口,将处理错误记录以及设置跨度的状态。

同步和异步函数都将等待,以反映跨度上的回调结果。

示例:

const myOperationResult = await tracingClient.withSpan("myClassName.myOperationName", options, (updatedOptions) => myOperation(updatedOptions));
function withSpan<Options, Callback>(name: string, operationOptions: Options, callback: Callback, spanOptions?: TracingSpanOptions): Promise<Resolved<ReturnType<Callback>>>

参数

name

string

范围的名称。 按照约定,此应为 ${className}.${methodName}

operationOptions

Options

传递给 方法的原始选项。 回调将接收包含新创建的 TracingContext 的这些选项。

callback

Callback

要通过更新的选项和新创建的 TracingSpan 调用的回调。

spanOptions
TracingSpanOptions

返回

Promise<Resolved<ReturnType<Callback>>>