webpour les requêtes webfrontendpour le JavaScript front-endbackgroundpour les jobs en arrière-plan

L'image ci-dessus montre des exemples de graphiques avec plusieurs namespaces, en séparant une API GraphQL et le namespace Web.
Configurer les namespaces
Les namespaces sont définis par le code de votre application. Avec de petits assistants, vous pouvez personnaliser le namespace d’une action. Ce guide vous apprendra à diviser les requêtes en différents namespaces. Pour ce guide, nous créerons un namespace « admin » et un namespace « critical » pour les jobs en arrière-plan.Configurations par langage
Ruby
Dans Rails, nous pouvons utiliser le callbackbefore_action pour appeler une méthode avant qu’une requête ne soit traitée. Dans l’exemple de code ci-dessous, nous avons créé un before_action qui appelle la méthode set_appsignal_namespace. Dans cette méthode, nous appelons la méthode d’assistance Appsignal.set_namespace pour configurer « admin » comme namespace pour cette requête. Cela fonctionne également si d’autres contrôleurs sont des sous-classes du AdminController.
Appsignal.monitor. Il accepte le namespace comme argument nommé.
set_namespace pour configurer le namespace de la transaction, comme dans l’exemple ci-dessous :
Remarque sur l’emplacement des assistants
Les assistantsset_namespace utilisés dans ce guide peuvent être appelés dans n’importe quelle action faisant partie d’un échantillon AppSignal. Nous recommandons de l’appeler aussi tôt que possible dans la requête ou le job en arrière-plan, afin que la transaction soit configurée avec le namespace donné avant qu’une erreur ne se produise. Sinon, si une erreur se produit, ou tout autre événement qui arrête le processus, la transaction est envoyée à AppSignal avant que l’assistant set_namespace ne soit appelé, et l’échantillon est rapporté sous le namespace par défaut à la place.
En savoir plus
Elixir
Dans les contrôleurs Phoenix, nous utilisons unplug pour appeler une fonction avant que la requête ne soit traitée par Phoenix. Dans l’exemple de code ci-dessous, nous utilisons plug pour appeler la fonction set_appsignal_namespace (ligne 5). Dans cette fonction, nous appelons l’assistant Appsignal.Span.set_namespace pour configurer le namespace pour cette requête (ligne 10).
Appsignal.Span.set_namespace doit être appelé au début de la fonction avant tout autre code, comme à la ligne 4 de l’exemple de code ci-dessous :
Remarque sur l’emplacement des assistants
Les assistantsset_namespace utilisés dans ce guide peuvent être appelés dans n’importe quelle action qui démarre une transaction AppSignal. Nous recommandons de l’appeler aussi tôt que possible dans la requête ou le job en arrière-plan, afin que la transaction soit configurée avec le namespace donné avant qu’une erreur ne se produise. Sinon, si une erreur se produit — ou tout autre événement qui arrête le processus — la transaction est envoyée à AppSignal avant que le code set_namespace ne soit appelé et elle est rapportée sous le namespace par défaut à la place.
En savoir plus
- Documentation de la méthode d’assistance
Appsignal.Span.set_namespace - Décorateur de namespace Elixir
- Assistant d’instrumentation de namespace Elixir
Node.js
Dans les applications Node.js, AppSignal fonctionne avec OpenTelemetry, qui utilise des spans pour suivre les métadonnées, telles que le namespace auquel un span appartient. Utilisez la fonction d’assistancesetNamespace comme illustré ci-dessous pour définir le namespace pour la trace du span actif.
PHP
Dans les applications PHP, AppSignal fonctionne avec OpenTelemetry, qui utilise des spans pour suivre les métadonnées, telles que le namespace auquel un span appartient. Utilisez la méthode d’assistanceAppsignal::setNamespace pour définir le namespace pour la trace du span actif.
Python
Dans les applications Python, AppSignal fonctionne avec OpenTelemetry, qui utilise des spans pour suivre les métadonnées, telles que le namespace auquel un span appartient. Utilisez la fonction d’assistanceset_namespace comme illustré ci-dessous pour définir le namespace pour la trace du span actif.
JavaScript front-end
Dans les applications JavaScript front-end, AppSignal fonctionne avec des spans pour suivre les métadonnées telles que le namespace d’un span. Lors de la création de ce span, appelezsetNamespace avec une valeur de type String du nom de namespace souhaité, comme illustré dans l’exemple ci-dessous :
Go
Dans les applications Go, AppSignal fonctionne avec OpenTelemetry, qui utilise des spans pour suivre les métadonnées, telles que le namespace auquel un span appartient. Sur n’importe quel span de la trace, définissez un attributappsignal.namespace avec une valeur de type String du nouvel namespace.
appsignal.namespace sont trouvés, le span avec l’horodatage le plus récent prévaut.
En savoir plus sur le fonctionnement de l’instrumentation personnalisée en Go.
Java
Dans les applications Java, AppSignal fonctionne avec OpenTelemetry, qui utilise des spans pour suivre les métadonnées, telles que le namespace auquel un span appartient. Sur n’importe quel span de la trace, définissez un attributappsignal.namespace avec une valeur de type String du nouvel namespace.
appsignal.namespace sont trouvés, le span avec l’horodatage le plus récent prévaut.
En savoir plus sur le fonctionnement de l’instrumentation personnalisée en Java.