TracingClient interface

Představuje klienta, který lze integrovat s aktuálně nakonfigurovaným Instrumenterem.

Vytvořte instanci pomocí příkazu createTracingClient.

Metody

createRequestHeaders(TracingContext)

Vytvoří sadu hlaviček požadavků pro šíření informací o trasování do back-endu.

parseTraceparentHeader(string)

Parsuje hodnotu hlavičky traceparent na <xref:TracingSpanContext>.

startSpan<Options>(string, Options, TracingSpanOptions)

Spustí daný rozsah, ale nenastaví ho jako aktivní rozsah.

Span musíte ukončit pomocí end.

Většinu času budete chtít místo toho používat s nástrojem Span .

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

Zalomí zpětné volání s aktivním kontextem a zavolá zpětné volání. V závislosti na implementaci to může nastavit globálně dostupný aktivní kontext.

Užitečné, když chcete opustit hranice sady SDK (provést požadavek nebo zpětné volání uživatelského kódu) a nemůžete použít rozhraní API withSpan .

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

Zabalí zpětné volání do rozsahu trasování, zavolá zpětné volání a zavře rozsah.

Toto je primární rozhraní pro použití trasování a bude zpracovávat záznam chyb a také nastavení stavu rozsahu.

Synchronní i asynchronní funkce budou očekávána, aby odrážely výsledek zpětného volání v rozsahu.

Příklad:

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

Podrobnosti metody

createRequestHeaders(TracingContext)

Vytvoří sadu hlaviček požadavků pro šíření informací o trasování do back-endu.

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

Parametry

tracingContext
TracingContext

Kontext obsahující rozsah, který se má rozšířit.

Návraty

Record<string, string>

Sada hlaviček, které se mají přidat do požadavku.

parseTraceparentHeader(string)

Parsuje hodnotu hlavičky traceparent na <xref:TracingSpanContext>.

function parseTraceparentHeader(traceparentHeader: string): undefined | TracingContext

Parametry

traceparentHeader

string

Hlavička traceparent, která se má analyzovat.

Návraty

undefined | TracingContext

Identifikátor rozsahu specifický pro implementaci.

startSpan<Options>(string, Options, TracingSpanOptions)

Spustí daný rozsah, ale nenastaví ho jako aktivní rozsah.

Span musíte ukončit pomocí end.

Většinu času budete chtít místo toho používat s nástrojem Span .

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

Parametry

name

string

Název rozsahu. Podle konvence by to mělo být ${className}.${methodName}.

operationOptions

Options

Možnosti původní operace.

spanOptions
TracingSpanOptions

Možnosti, které se mají použít při vytváření rozsahu.

Návraty

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

A TracingSpan a aktualizované možnosti operace.

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

Zalomí zpětné volání s aktivním kontextem a zavolá zpětné volání. V závislosti na implementaci to může nastavit globálně dostupný aktivní kontext.

Užitečné, když chcete opustit hranice sady SDK (provést požadavek nebo zpětné volání uživatelského kódu) a nemůžete použít rozhraní API withSpan .

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

Parametry

context
TracingContext

TracingContext použít jako aktivní kontext v oboru zpětného volání.

callback

Callback

Zpětné volání, které má být vyvoláno s danou kontextovou sadou jako globálně aktivní kontext.

callbackArgs

CallbackArgs

Argumenty zpětného volání.

Návraty

ReturnType<Callback>

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

Zabalí zpětné volání do rozsahu trasování, zavolá zpětné volání a zavře rozsah.

Toto je primární rozhraní pro použití trasování a bude zpracovávat záznam chyb a také nastavení stavu rozsahu.

Synchronní i asynchronní funkce budou očekávána, aby odrážely výsledek zpětného volání v rozsahu.

Příklad:

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>>>

Parametry

name

string

Název rozsahu. Podle konvence by to mělo být ${className}.${methodName}.

operationOptions

Options

Původní možnosti předané metodě . Zpětné volání obdrží tyto možnosti s nově vytvořeným TracingContext.

callback

Callback

Zpětné volání, které má být vyvoláno s aktualizovanými možnostmi a nově vytvořeným TracingSpan.

spanOptions
TracingSpanOptions

Návraty

Promise<Resolved<ReturnType<Callback>>>