TracingClient interface
Rappresenta un client che può essere integrato con lo strumento attualmente configurato.
Creare un'istanza usando createTracingClient.
Metodi
create |
Crea un set di intestazioni di richiesta per propagare le informazioni di traccia in un back-end. |
parse |
Analizza un valore di intestazione traceparent in un <xref:TracingSpanContext>oggetto . |
start |
Avvia un determinato intervallo, ma non lo imposta come intervallo attivo. È necessario terminare l'intervallo usando la fine. La maggior parte del tempo che si vuole usare conSpan . |
with |
Esegue il wrapping di un callback con un contesto attivo e chiama il callback. A seconda dell'implementazione, questo può impostare il contesto attivo disponibile a livello globale. Utile quando si desidera lasciare i limiti dell'SDK (effettuare una richiesta o il callback al codice utente) e non è possibile usare l'API withSpan . |
with |
Esegue il wrapping di un callback in un intervallo di traccia, chiama il callback e chiude l'intervallo. Si tratta dell'interfaccia primaria per l'uso di Traccia e gestirà la registrazione degli errori e l'impostazione dello stato sull'intervallo. Sia le funzioni sincrone che asincrone saranno attese per riflettere il risultato del callback nell'intervallo. Esempio:
|
Dettagli metodo
createRequestHeaders(TracingContext)
Crea un set di intestazioni di richiesta per propagare le informazioni di traccia in un back-end.
function createRequestHeaders(tracingContext?: TracingContext): Record<string, string>
Parametri
- tracingContext
- TracingContext
Contesto contenente l'intervallo da propagare.
Restituisce
Record<string, string>
Set di intestazioni da aggiungere a una richiesta.
parseTraceparentHeader(string)
Analizza un valore di intestazione traceparent in un <xref:TracingSpanContext>oggetto .
function parseTraceparentHeader(traceparentHeader: string): undefined | TracingContext
Parametri
- traceparentHeader
-
string
Intestazione traceparent da analizzare.
Restituisce
undefined | TracingContext
Identificatore specifico dell'implementazione per l'intervallo.
startSpan<Options>(string, Options, TracingSpanOptions)
Avvia un determinato intervallo, ma non lo imposta come intervallo attivo.
È necessario terminare l'intervallo usando la fine.
La maggior parte del tempo che si vuole usare conSpan .
function startSpan<Options>(name: string, operationOptions?: Options, spanOptions?: TracingSpanOptions): { span: TracingSpan, updatedOptions: OptionsWithTracingContext<Options> }
Parametri
- name
-
string
Nome dell'intervallo. Per convenzione, questo deve essere ${className}.${methodName}
.
- operationOptions
-
Options
Opzioni di operazione originali.
- spanOptions
- TracingSpanOptions
Opzioni da usare durante la creazione dell'intervallo.
Restituisce
{ span: TracingSpan, updatedOptions: OptionsWithTracingContext<Options> }
Elemento TracingSpan e le opzioni di operazione aggiornate.
withContext<CallbackArgs, Callback>(TracingContext, Callback, CallbackArgs)
Esegue il wrapping di un callback con un contesto attivo e chiama il callback. A seconda dell'implementazione, questo può impostare il contesto attivo disponibile a livello globale.
Utile quando si desidera lasciare i limiti dell'SDK (effettuare una richiesta o il callback al codice utente) e non è possibile usare l'API withSpan .
function withContext<CallbackArgs, Callback>(context: TracingContext, callback: Callback, callbackArgs: CallbackArgs): ReturnType<Callback>
Parametri
- context
- TracingContext
TracingContext da usare come contesto attivo nell'ambito del callback.
- callback
-
Callback
Callback da richiamare con il contesto specificato impostato come contesto attivo globale.
- callbackArgs
-
CallbackArgs
Argomenti di callback.
Restituisce
ReturnType<Callback>
withSpan<Options, Callback>(string, Options, Callback, TracingSpanOptions)
Esegue il wrapping di un callback in un intervallo di traccia, chiama il callback e chiude l'intervallo.
Si tratta dell'interfaccia primaria per l'uso di Traccia e gestirà la registrazione degli errori e l'impostazione dello stato sull'intervallo.
Sia le funzioni sincrone che asincrone saranno attese per riflettere il risultato del callback nell'intervallo.
Esempio:
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>>>
Parametri
- name
-
string
Nome dell'intervallo. Per convenzione, questo deve essere ${className}.${methodName}
.
- operationOptions
-
Options
Le opzioni originali passate al metodo. Il callback riceverà queste opzioni con l'oggetto TracingContext appena creato.
- callback
-
Callback
Callback da richiamare con le opzioni aggiornate e appena creato TracingSpan.
- spanOptions
- TracingSpanOptions
Restituisce
Promise<Resolved<ReturnType<Callback>>>