Intégrations
Applications Rails
Pour les applications Rails, assurez-vous de dépendre de la tâche:environment. Cela charge l’application Rails en mémoire et démarre AppSignal dans le cadre de l’application.
Rakefile
LeRakefile de votre application Rails devrait ressembler à l’exemple ci-dessous. Cela devrait déjà être le cas, pas besoin de le modifier.
< 1, vous devrez requérir manuellement l’intégration Rake. Elle est chargée automatiquement pour la version 1.x et supérieure.)
Applications Ruby
Pour les applications Ruby pures, des étapes supplémentaires sont requises pour charger AppSignal. AppSignal doit être requis, configuré et chargé. Consultez également notre guide d’intégration.Surveillance des performances des tâches Rake
Pour surveiller les performances des tâches Rake et tous les événements qui se produisent dans la tâche, configurez AppSignal avec l’option de configurationenable_rake_performance_instrumentation définie sur true.
Une fois cette fonctionnalité activée, toutes les tâches Rake seront instrumentées et comptabilisées dans votre forfait.
Exigence d’arrêt
Pour les tâches Rake s’exécutant sur des hôtes de courte durée, il est nécessaire d’arrêter la gem AppSignal Ruby avant la sortie du processus Rake. Cela garantira qu’elle signale les données des tâches Rake à AppSignal avant l’arrêt de l’hôte. Ce comportement n’est nécessaire que dans des scénarios tels que :- Lorsqu’une tâche Rake planifiée (un cron job) est exécutée par un service d’hébergement.
- Lorsqu’une tâche Rake est exécutée sur un conteneur qui démarre pour exécuter cette tâche Rake et s’arrête lorsque la tâche Rake se termine.
- Lorsqu’une tâche Rake est exécutée sur un Heroku runner, ou des fournisseurs d’hébergement similaires.
enable_at_exit_hook.
Assurez-vous que cette option est définie sur true pour les scripts qui nécessitent l’arrêt d’AppSignal, s’il n’est pas détecté automatiquement.
Il peut être nécessaire d’ajouter un appel sleep supplémentaire de quelques secondes pour s’assurer qu’il y a suffisamment de temps pour envoyer toutes les données. Utilisez l’exemple d’utilisation at_exit du code ci-dessous si nécessaire.
Exigence d’arrêt héritée
Lors de l’exécution d’une seule tâche Rake sur un hôte de courte durée (par exemple avec des conteneurs Docker, des planificateurs Kubernetes ou Heroku), il y a trois exigences. Cela garantit que l’extension AppSignal de l’application a le temps de vider les données vers l’agent et que l’agent a le temps d’envoyer les données à notre API avant l’arrêt (du conteneur). Les exigences sont :Appsignal.stopdoit être appelé dans la tâche Rake.- Lorsque la surveillance des performances des tâches Rake est activée, cela est fait automatiquement pour toutes les tâches.
running_in_containerdoit être défini sur true dans la configuration.- Pour la plupart des types de conteneurs,
running_in_containerest automatiquement défini sur true lorsqu’il est détecté, pour d’autres une configuration manuelle est requise.
- Pour la plupart des types de conteneurs,
- Un sleep de par exemple 10 secondes pour donner à l’agent AppSignal le temps d’envoyer les données
Appsignal.stop est appelé dans le Rakefile :
Appsignal.stop vide toutes les données de transaction actuellement dans l’extension AppSignal vers notre agent.
Il se met ensuite en sommeil pendant 10 secondes pour permettre à l’agent d’envoyer les données avant l’arrêt.