Partilhar via


TracingClient interface

Representa um cliente que pode se integrar com o doInstrumenter configurado no momento.

Crie uma instância usando createTracingClient.

Métodos

createRequestHeaders(TracingContext)

Cria um conjunto de cabeçalhos de solicitação para propagar informações de rastreamento para um back-end.

parseTraceparentHeader(string)

Analisa um valor de cabeçalho traceparent em um <xref:TracingSpanContext>.

startSpan<Options>(string, Options, TracingSpanOptions)

Inicia uma determinada extensão, mas não a define como a extensão ativa.

Você deve encerrar a extensão usando end.

Na maioria das vezes, você vai querer usar withSpan em vez disso.

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

Encapsula um retorno de chamada com um contexto ativo e chama o retorno de chamada. Dependendo da implementação, isso pode definir o contexto ativo disponível globalmente.

Útil quando você deseja deixar os limites do SDK (fazer uma solicitação ou retorno de chamada para o código do usuário) e não consegue usar o withSpan API.

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

Encapsula um retorno de chamada em uma extensão de rastreamento, chama o retorno de chamada e fecha a extensão.

Esta é a interface principal para usar o rastreamento e irá lidar com a gravação de erros, bem como definir o status na extensão.

As funções síncronas e assíncronas serão aguardadas para refletir o resultado do retorno de chamada na extensão.

Exemplo:

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";
  },
);

Detalhes de Método

createRequestHeaders(TracingContext)

Cria um conjunto de cabeçalhos de solicitação para propagar informações de rastreamento para um back-end.

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

Parâmetros

tracingContext
TracingContext

O contexto que contém o intervalo a ser propagado.

Devoluções

Record<string, string>

O conjunto de cabeçalhos a serem adicionados a uma solicitação.

parseTraceparentHeader(string)

Analisa um valor de cabeçalho traceparent em um <xref:TracingSpanContext>.

function parseTraceparentHeader(traceparentHeader: string): undefined | TracingContext

Parâmetros

traceparentHeader

string

O cabeçalho traceparent a ser analisado.

Devoluções

undefined | TracingContext

Um identificador específico de implementação para a extensão.

startSpan<Options>(string, Options, TracingSpanOptions)

Inicia uma determinada extensão, mas não a define como a extensão ativa.

Você deve encerrar a extensão usando end.

Na maioria das vezes, você vai querer usar withSpan em vez disso.

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

Parâmetros

name

string

O nome da extensão. Por convenção, isso deve ser ${className}.${methodName}.

operationOptions

Options

As opções de operação originais.

spanOptions
TracingSpanOptions

As opções a serem usadas ao criar a extensão.

Devoluções

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

Um TracingSpan e as opções de operação atualizadas.

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

Encapsula um retorno de chamada com um contexto ativo e chama o retorno de chamada. Dependendo da implementação, isso pode definir o contexto ativo disponível globalmente.

Útil quando você deseja deixar os limites do SDK (fazer uma solicitação ou retorno de chamada para o código do usuário) e não consegue usar o withSpan API.

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

Parâmetros

context
TracingContext

O TracingContext usar como o contexto ativo no escopo do retorno de chamada.

callback

Callback

O retorno de chamada a ser invocado com o contexto dado definido como o contexto globalmente ativo.

callbackArgs

CallbackArgs

Os argumentos de retorno de chamada.

Devoluções

ReturnType<Callback>

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

Encapsula um retorno de chamada em uma extensão de rastreamento, chama o retorno de chamada e fecha a extensão.

Esta é a interface principal para usar o rastreamento e irá lidar com a gravação de erros, bem como definir o status na extensão.

As funções síncronas e assíncronas serão aguardadas para refletir o resultado do retorno de chamada na extensão.

Exemplo:

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

Parâmetros

name

string

O nome da extensão. Por convenção, isso deve ser ${className}.${methodName}.

operationOptions

Options

As opções originais passaram para o método. O retorno de chamada receberá essas opções com o recém-criado TracingContext.

callback

Callback

O retorno de chamada a ser invocado com as opções atualizadas e o recém-criado TracingSpan.

spanOptions
TracingSpanOptions

Devoluções

Promise<Resolved<ReturnType<Callback>>>