> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ajout de l'instrumentation de méthodes

<Tip>
  <p>Remarques :</p>

  <ul>
    <li>
      Cette fonctionnalité est disponible depuis la version 1.3 de la gem Ruby et ne fonctionne que pour les
      classes.
    </li>

    <li>
      La prise en charge de Ruby 3.0 pour les arguments par mots-clés a été ajoutée dans la gem Ruby `2.11.4`.
    </li>
  </ul>
</Tip>

Parfois, les [blocs d'instrumentation](/ruby/instrumentation/instrumentation) ne sont pas suffisamment précis. Chaque application est différente, tout comme le code qui l'exécute. Les développeurs savent quel code et, plus précisément, quelles méthodes instrumenter.

Il est possible d'instrumenter des méthodes dans votre code Ruby directement avec AppSignal.
En utilisant la gem Ruby `appsignal`, vous pouvez utiliser nos intégrations d'objet qui
vous fournissent des assistants utiles pour le faire.

## Installation

Activez l'intégration d'objet en exigeant la ligne suivante après le chargement de
la gem appsignal elle-même

<CodeGroup>
  ```ruby Ruby theme={null}
  require 'appsignal/integrations/object'
  ```
</CodeGroup>

puis procédez en spécifiant les méthodes que vous voulez tester sur n'importe quelle classe que vous voulez.

### Exemple

<CodeGroup>
  ```ruby Ruby theme={null}
  require 'appsignal'
  require 'appsignal/integrations/object'

  class Foo
    def bar
      1
    end
    appsignal_instrument_method :bar

    def self.bar
      2
    end
    appsignal_instrument_class_method :bar
  end

  Foo.new.bar
  # => 1
  Foo.bar
  # => 2
  ```
</CodeGroup>

## Utilisation

Nous avons différents assistants pour les méthodes d'instance et les méthodes de classe,
`appsignal_instrument_method` et `appsignal_instrument_class_method`
respectivement.

Appelez-les au niveau de la classe dans n'importe quelle classe Ruby, même celles de la bibliothèque
standard Ruby, et commencez à instrumenter. Vous n'avez besoin de rien d'autre dans
la classe, une fois que vous chargez le fichier d'intégration, il devient disponible partout.

Instrumentez n'importe quelle méthode en appelant l'assistant avec le nom de la méthode
que vous voulez instrumenter. Si la méthode n'existe pas, cela lèvera
une erreur, comme Ruby le ferait par défaut.

Une fois qu'une requête a été traitée par AppSignal avec ce type
d'instrumentation, vous pourrez voir l'instrumentation de la méthode dans la répartition
des événements sur la page d'échantillon.

<img src="https://mintcdn.com/appsignal-715f5a51/4TRZP0Sq9Zq7PAPW/assets/images/screenshots/method_instrumentation.png?fit=max&auto=format&n=4TRZP0Sq9Zq7PAPW&q=85&s=52f4c7f087df04214b1c2d01be8caa89" alt="Arbre d'événements avec instrumentation de méthodes" width="702" height="348" data-path="assets/images/screenshots/method_instrumentation.png" />

Vous pouvez également personnaliser le nom de l'événement qui nous est envoyé en utilisant l'option
`:name`.

<CodeGroup>
  ```ruby Ruby theme={null}
  class Foo
    def bar
    end
    appsignal_instrument_method :bar

    def self.bar
    end
    appsignal_instrument_class_method :bar, name: "bar.class_method.Foo.methods"
  end
  ```
</CodeGroup>
