TracingClient interface
Représente un client qui peut s’intégrer au instrumenteur actuellement configuré.
Créez une instance à l’aide de createTracingClient.
Méthodes
| create |
Crée un ensemble d’en-têtes de requête pour propager les informations de suivi vers un backend. |
| parse |
Analyse une valeur d’en-tête traceparent en un <xref:TracingSpanContext>. |
| start |
Démarre une plage donnée, mais ne la définit pas comme plage active. Vous devez terminer la plage à l’aide de end. La plupart du temps, vous voudrez utiliser withSpan à la place. |
| with |
Encapsule un rappel avec un contexte actif et appelle le rappel. Selon l’implémentation, cela peut définir le contexte actif globalement disponible. Utile lorsque vous souhaitez quitter les limites du SDK (effectuer une requête ou un rappel au code utilisateur) et que vous ne pouvez pas utiliser l’API withSpan . |
| with |
Encapsule un rappel dans une plage de suivi, appelle le rappel et ferme la plage. Il s’agit de l’interface principale pour l’utilisation du traçage et elle gère l’enregistrement des erreurs ainsi que la définition de l’état de la plage. Les fonctions synchrones et asynchrones seront attendues afin de refléter le résultat du rappel sur la span. Exemple:
|
Détails de la méthode
createRequestHeaders(TracingContext)
Crée un ensemble d’en-têtes de requête pour propager les informations de suivi vers un backend.
function createRequestHeaders(tracingContext?: TracingContext): Record<string, string>
Paramètres
- tracingContext
- TracingContext
Contexte contenant la plage à propager.
Retours
Record<string, string>
L’ensemble des en-têtes à ajouter à une requête.
parseTraceparentHeader(string)
Analyse une valeur d’en-tête traceparent en un <xref:TracingSpanContext>.
function parseTraceparentHeader(traceparentHeader: string): undefined | TracingContext
Paramètres
- traceparentHeader
-
string
L’en-tête traceparent à analyser.
Retours
undefined | TracingContext
Identificateur spécifique à l’implémentation pour la span.
startSpan<Options>(string, Options, TracingSpanOptions)
Démarre une plage donnée, mais ne la définit pas comme plage active.
Vous devez terminer la plage à l’aide de end.
La plupart du temps, vous voudrez utiliser withSpan à la place.
function startSpan<Options>(name: string, operationOptions?: Options, spanOptions?: TracingSpanOptions): { span: TracingSpan, updatedOptions: OptionsWithTracingContext<Options> }
Paramètres
- name
-
string
Nom de l’étendue. Par convention, cela devrait être ${className}.${methodName}.
- operationOptions
-
Options
Les options de fonctionnement d’origine.
- spanOptions
- TracingSpanOptions
Options à utiliser lors de la création de l’étendue.
Retours
{ span: TracingSpan, updatedOptions: OptionsWithTracingContext<Options> }
A TracingSpan et les options de fonctionnement mises à jour.
withContext<CallbackArgs, Callback>(TracingContext, Callback, CallbackArgs)
Encapsule un rappel avec un contexte actif et appelle le rappel. Selon l’implémentation, cela peut définir le contexte actif globalement disponible.
Utile lorsque vous souhaitez quitter les limites du SDK (effectuer une requête ou un rappel au code utilisateur) et que vous ne pouvez pas utiliser l’API withSpan .
function withContext<CallbackArgs, Callback>(context: TracingContext, callback: Callback, callbackArgs: CallbackArgs): ReturnType<Callback>
Paramètres
- context
- TracingContext
Le TracingContext à utiliser comme contexte actif dans l’étendue du rappel.
- callback
-
Callback
Rappel à appeler avec le contexte donné défini comme contexte global actif.
- callbackArgs
-
CallbackArgs
Arguments de rappel.
Retours
ReturnType<Callback>
withSpan<Options, Callback>(string, Options, Callback, TracingSpanOptions)
Encapsule un rappel dans une plage de suivi, appelle le rappel et ferme la plage.
Il s’agit de l’interface principale pour l’utilisation du traçage et elle gère l’enregistrement des erreurs ainsi que la définition de l’état de la plage.
Les fonctions synchrones et asynchrones seront attendues afin de refléter le résultat du rappel sur la span.
Exemple:
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>>>
Paramètres
- name
-
string
Nom de l’étendue. Par convention, cela devrait être ${className}.${methodName}.
- operationOptions
-
Options
Les options d’origine ont été transmises à la méthode. Le callback recevra ces options avec le TracingContext nouvellement créé.
- callback
-
Callback
Le rappel à appeler avec les options mises à jour et le TracingSpan nouvellement créé.
- spanOptions
- TracingSpanOptions
Retours
Promise<Resolved<ReturnType<Callback>>>