TracingClient interface
表示可与当前配置的 检测程序集成的客户端。
使用 createTracingClient创建实例。
方法
| create |
创建一组请求标头,用于将跟踪信息传播到后端。 |
| parse |
将跟踪父级标头值分析为 <xref:TracingSpanContext>。 |
| start |
启动给定范围,但不将其设置为活动范围。 必须使用 结束结束范围。 大多数时候,你希望改用 withSpan。 |
| with |
使用活动上下文包装回调并调用回调。 根据实现的不同,这可能会设置全局可用的活动上下文。 当想要离开 SDK 的边界(对用户代码发出请求或回调),并且无法使用 withSpan API 时非常有用。 |
| with |
在跟踪范围中包装回调、调用回调并关闭范围。 这是使用跟踪的主要接口,将处理错误记录以及设置跨度的状态。 同步函数和异步函数都将等待,以反映跨度回调的结果。 例:
|
方法详细信息
createRequestHeaders(TracingContext)
创建一组请求标头,用于将跟踪信息传播到后端。
function createRequestHeaders(tracingContext?: TracingContext): Record<string, string>
参数
- tracingContext
- TracingContext
包含要传播的跨度的上下文。
返回
Record<string, string>
要添加到请求的标头集。
parseTraceparentHeader(string)
将跟踪父级标头值分析为 <xref:TracingSpanContext>。
function parseTraceparentHeader(traceparentHeader: string): undefined | TracingContext
参数
- traceparentHeader
-
string
要分析的跟踪父级标头。
返回
undefined | TracingContext
范围特定于实现的标识符。
startSpan<Options>(string, Options, TracingSpanOptions)
启动给定范围,但不将其设置为活动范围。
必须使用 结束结束范围。
大多数时候,你希望改用 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)
在跟踪范围中包装回调、调用回调并关闭范围。
这是使用跟踪的主要接口,将处理错误记录以及设置跨度的状态。
同步函数和异步函数都将等待,以反映跨度回调的结果。
例:
import { createTracingClient } from "@azure/core-tracing";
const tracingClient = createTracingClient({
namespace: "test.namespace",
packageName: "test-package",
packageVersion: "1.0.0",
});
const options = {};
const myOperationResult = await tracingClient.withSpan(
"myClassName.myOperationName",
options,
(updatedOptions) => {
// Do something with the updated options.
return "myOperationResult";
},
);
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>>>