TracingClient interface
Representa um cliente que pode ser integrado com o Instrumenter atualmente configurado.
Crie uma instância com createTracingClient.
Métodos
create |
Cria um conjunto de cabeçalhos de pedido para propagar informações de rastreio para um back-end. |
parse |
Analisa um valor de cabeçalho traceparent num <xref:TracingSpanContext>. |
start |
Inicia um determinado intervalo, mas não o define como o intervalo ativo. Tem de terminar o intervalo com o fim. Na maioria das vezes, vai querer utilizar com o Span . |
with |
Encapsula uma chamada de retorno com um contexto ativo e chama a chamada de retorno. Dependendo da implementação, isto pode definir o contexto ativo globalmente disponível. Útil quando pretender sair dos limites do SDK (fazer um pedido ou chamada de retorno para o código de utilizador) e não conseguir utilizar a API withSpan . |
with |
Encapsula uma chamada de retorno num intervalo de rastreio, chama a chamada de retorno e fecha o intervalo. Esta é a interface principal para utilizar o Rastreio e processará a gravação de erros, bem como a definição do estado no intervalo. As funções síncronas e assíncronas serão aguardadas para refletir o resultado da chamada de retorno no intervalo. Exemplo:
|
Detalhes de Método
createRequestHeaders(TracingContext)
Cria um conjunto de cabeçalhos de pedido para propagar informações de rastreio para um back-end.
function createRequestHeaders(tracingContext?: TracingContext): Record<string, string>
Parâmetros
- tracingContext
- TracingContext
O contexto que contém o intervalo a propagar.
Devoluções
Record<string, string>
O conjunto de cabeçalhos a adicionar a um pedido.
parseTraceparentHeader(string)
Analisa um valor de cabeçalho traceparent num <xref:TracingSpanContext>.
function parseTraceparentHeader(traceparentHeader: string): undefined | TracingContext
Parâmetros
- traceparentHeader
-
string
O cabeçalho traceparent a analisar.
Devoluções
undefined | TracingContext
Um identificador específico da implementação para o span.
startSpan<Options>(string, Options, TracingSpanOptions)
Inicia um determinado intervalo, mas não o define como o intervalo ativo.
Tem de terminar o intervalo com o fim.
Na maioria das vezes, vai querer utilizar com o Span .
function startSpan<Options>(name: string, operationOptions?: Options, spanOptions?: TracingSpanOptions): { span: TracingSpan, updatedOptions: OptionsWithTracingContext<Options> }
Parâmetros
- name
-
string
O nome do intervalo. Por convenção, deve ser ${className}.${methodName}
.
- operationOptions
-
Options
As opções de operação originais.
- spanOptions
- TracingSpanOptions
As opções a utilizar ao criar o span.
Devoluções
{ span: TracingSpan, updatedOptions: OptionsWithTracingContext<Options> }
Um TracingSpan e as opções de operação atualizadas.
withContext<CallbackArgs, Callback>(TracingContext, Callback, CallbackArgs)
Encapsula uma chamada de retorno com um contexto ativo e chama a chamada de retorno. Dependendo da implementação, isto pode definir o contexto ativo globalmente disponível.
Útil quando pretender sair dos limites do SDK (fazer um pedido ou chamada de retorno para o código de utilizador) e não conseguir utilizar a API withSpan .
function withContext<CallbackArgs, Callback>(context: TracingContext, callback: Callback, callbackArgs: CallbackArgs): ReturnType<Callback>
Parâmetros
- context
- TracingContext
O TracingContext a utilizar como contexto ativo no âmbito da chamada de retorno.
- callback
-
Callback
A chamada de retorno a invocar com o conjunto de contexto especificado como o contexto globalmente ativo.
- callbackArgs
-
CallbackArgs
Os argumentos de chamada de retorno.
Devoluções
ReturnType<Callback>
withSpan<Options, Callback>(string, Options, Callback, TracingSpanOptions)
Encapsula uma chamada de retorno num intervalo de rastreio, chama a chamada de retorno e fecha o intervalo.
Esta é a interface principal para utilizar o Rastreio e processará a gravação de erros, bem como a definição do estado no intervalo.
As funções síncronas e assíncronas serão aguardadas para refletir o resultado da chamada de retorno no intervalo.
Exemplo:
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>>>
Parâmetros
- name
-
string
O nome do intervalo. Por convenção, deve ser ${className}.${methodName}
.
- operationOptions
-
Options
As opções originais passaram para o método. A chamada de retorno receberá estas opções com o TracingContext recentemente criado.
- callback
-
Callback
A chamada de retorno a invocar com as opções atualizadas e o TracingSpan recentemente criado.
- spanOptions
- TracingSpanOptions
Devoluções
Promise<Resolved<ReturnType<Callback>>>