Controller#action_name, BackgroundWorker#perform, etc.).
Lorsque le nom d’action déterminé automatiquement n’est pas suffisant, vous pouvez le personnaliser.
Ce guide explique comment personnaliser les noms d’actions dans différentes intégrations de langages.
Pourquoi personnaliser les noms d’actions ?
- Clarté améliorée : fournissez des noms plus descriptifs pour des opérations complexes.
- Regroupement personnalisé : contrôlez la façon dont les données de l’application sont organisées dans AppSignal.
Lorsque les noms d’actions automatiques sont insuffisants
Voici quelques exemples où les noms d’actions générés automatiquement peuvent être insuffisants :- Routes fourre-tout : dans les applications qui utilisent des routes fourre-tout ou un routage dynamique (comme
/api/:entity/:action), le nom d’action par défaut peut être quelque chose de générique commeApiController#dispatch. - Tâches polyvalentes : les workers d’arrière-plan et les scripts qui gèrent différents types de travail en fonction de paramètres seraient tous regroupés sous le même nom d’action (par exemple,
GenericWorker#perform). - Resolvers GraphQL : ceux-ci peuvent tous être regroupés sous un seul nom d’action (par exemple,
POST /graphql) bien qu’ils gèrent de nombreux types d’opérations différents.
Personnalisation des actions par langage
Ruby
Dans les applications Ruby, vous pouvez utiliser l’assistantAppsignal.set_action pour personnaliser le nom de l’action :
Appsignal.set_action.
Il est également possible de configurer le nom de l’action lors de la création d’une transaction à l’aide de l’assistant Appsignal.monitor. Il accepte le nom de l’action comme argument nommé.
Elixir
Dans les applications Elixir, vous pouvez utiliser la fonctionAppsignal.Span.set_name/2 pour personnaliser le nom de l’action sur le span racine :
Appsignal.Span.set_name/2.
Node.js
Dans les applications Node.js, vous pouvez utiliser l’assistantsetRootName du package AppSignal pour personnaliser les noms d’actions :
setRootName.
Python
Dans les applications Python, vous pouvez utiliser l’assistantset_root_name du package AppSignal pour personnaliser les noms d’actions :
set_root_name.
JavaScript front-end
Dans les applications JavaScript front-end, vous pouvez utiliser l’assistantsetAction du package AppSignal pour personnaliser les noms d’actions :
Go
Dans les applications Go, AppSignal fonctionne avec OpenTelemetry, qui utilise des spans pour suivre les métadonnées, comme le nom de l’action. Sur n’importe quel span de la trace, définissez un attributappsignal.action_name avec une valeur de type String pour personnaliser le nom de l’action :
appsignal.action_name sur le span actif.
Java
Dans les applications Java, AppSignal fonctionne avec OpenTelemetry, qui utilise des spans pour suivre les métadonnées, comme le nom de l’action. Sur n’importe quel span de la trace, définissez un attributappsignal.action_name avec une valeur de type String pour personnaliser le nom de l’action :
appsignal.action_name sur le span actif.
PHP
Dans les applications PHP, vous pouvez utiliser la méthode d’assistanceAppsignal::setAction() du package AppSignal pour personnaliser les noms d’actions :
appsignal.action_name sur le span actif.
Bonnes pratiques
Lors de la personnalisation des noms d’actions, suivez ces recommandations :- Soyez cohérent : utilisez un schéma de nommage cohérent dans toute votre application.
- Soyez précis : incluez des informations pertinentes qui aident à identifier l’opération.
- Évitez une cardinalité élevée : n’incluez pas d’identifiants ou de valeurs uniques qui créeraient des noms d’actions uniques à chaque exécution.
- Utilisez des chaînes statiques : n’interpolez jamais de variables ou de données dynamiques dans les noms d’actions.
- Suivez le nommage du code : utilisez des schémas de nommage comme
Controller#actionqui correspondent à la structure de votre application afin que l’emplacement dans le code puisse être retrouvé. - Utilisez plutôt des tags ou des métadonnées : pour suivre des informations variables comme les fournisseurs de paiement ou les types d’utilisateurs, utilisez les tags et les métadonnées plutôt que de les intégrer dans les noms d’actions.
Comment gérer différentes opérations avec le même nom d’action
Au lieu de créer des noms d’actions dynamiques, utilisez une combinaison de :- Noms d’actions statiques : utilisez des noms d’actions descriptifs mais statiques.
- Tags : ajoutez des tags avec les informations variables (par exemple,
provider: stripe,operation_type: refund). - Attributs personnalisés : ajoutez des métadonnées supplémentaires à la trace/transaction.
- Regrouper les opérations associées sous un même nom d’action.
- Filtrer et rechercher en fonction des tags.
- Maintenir une vue d’ensemble des incidents propre.