Passer au contenu principal
L’instrumentation AppSignal crée des événements pour les portions de code qui sont instrumentées. Ces événements sont utilisés pour calculer la durée d’exécution du code et le Garbage Collection des différentes bibliothèques et blocs de code. L’instrumentation permet à AppSignal de détecter les zones problématiques du code. Elle permet de voir si les requêtes en base de données d’une application sont lentes ou si un appel d’API unique est à l’origine du plus grand ralentissement d’une requête. Pour instrumenter le code de manière précise, chaque nom d’événement suit une méthode de nommage très spécifique. Choisir un bon nom peut grandement contribuer à la façon dont AppSignal traite et affiche les données entrantes. Nommer les événements peut être difficile, mais nous espérons que cette brève explication de la manière dont un nom d’événement est utilisé vous aidera à en choisir un bon. Pour en savoir plus sur l’instrumentation, consultez nos guides d’instrumentation personnalisée :

Groupes d’événements

Chaque événement créé par l’instrumentation AppSignal possède un nom. Dans ce nom, le groupe parent d’un événement est également présent. Ce nom de groupe permet à AppSignal de regrouper les événements provenant des requêtes en base de données et du rendu des vues. Grâce à ce regroupement, nous pouvons créer des vues d’ensemble qui affichent les temps d’exécution par groupe ainsi que les événements individuels. Par exemple, notre intégration Rails crée ces groupes : active_record, action_view, action_controller, etc.

Nommage des événements

Un nom d’événement est une chaîne composée de caractères alphanumériques, de tirets bas et de points. Les espaces et les tirets ne sont pas acceptés. Pensez à cette regex, ([a-zA-Z0-9_.]+) : si elle est acceptée par cette regex, le nom d’événement est accepté. Commençons par un nom d’événement simple.
Shell
sql.active_record
^   ^
|   second part (group)
first part (action)
L’action d’un nom d’événement correspond à tout ce qui se trouve avant le dernier point . dans une clé. Le groupe correspond à tout ce qui se trouve après ce point. Le groupe d’un événement est la bibliothèque de code à laquelle il appartient ou le type d’action dont il s’agit, comme une requête en base de données ou une requête HTTP. Cela fonctionne également avec plusieurs points dans une clé.
Shell
fetch.partition3.database
^                ^
|                second part (group)
first part (action)
Nous utilisons ce dernier schéma de nommage pour l’instrumentation des méthodes Ruby. Lorsqu’un nom comportant une seule partie est rencontré, l’événement sera automatiquement regroupé sous le groupe other.

Exemples

Quelques exemples de clés utilisées par les intégrations AppSignal :
  • ActiveRecord : sql.active_record
  • Redis : query.redis
  • Elasticsearch : search.elasticsearch
  • ActionView : render_template.action_view et render_partial.action_view
  • Net::HTTP de Ruby : request.net_http
  • Sidekiq : perform_job.sidekiq
  • Instrumentation des méthodes Ruby :
    • method_name.ClassName.other, et ;
    • method_name.class_method.NestedClassName.ParentModule.other