L’intégration Elixir d’AppSignal ne nécessite aucune configuration supplémentaire pour les applications déployées via Distillery ou la fonctionnalité de releases d’Elixir 1.9, mais l’agent doit être construit sur une machine ayant la même architecture que celle sur laquelle vous hébergerez votre application. AppSignal pour Elixir ne prend pas en charge la compilation croisée pour le moment.
Déboguer les releases
Comme les applications publiées en release peuvent être plus difficiles à déboguer, voici les étapes que nous suivons lorsqu’une demande de support pour une application Elixir déployée arrive.
Mode développement
Tout d’abord, nous vérifions si le problème est causé par la release en nous assurant que tout fonctionne en développement, sur votre machine locale. Démarrez votre application localement, sur votre machine de développement, dans l’environnement de développement :
Demandez quelques pages dans votre application et connectez-vous à AppSignal pour voir si des échantillons de performance arrivent. Si possible, déclenchez une exception dans l’un des contrôleurs de votre application pour voir si elle se retrouve aussi sur votre page d’erreurs.
Remarque : Exécuter AppSignal dans votre environnement de développement créera un
environnement « dev » dans la vue d’ensemble de votre compte sur AppSignal, où les données
apparaîtront.
Si vous ne recevez aucune donnée, vérifiez à nouveau les étapes du guide d’installation et du guide Phoenix pour vous assurer que tout dans votre application est correctement configuré.
Si le guide d’installation ne montre pas d’étapes manquées, exécutez la commande diagnose (toujours sur votre machine locale) :
$ mix appsignal.diagnose --send-report
La commande diagnose exécute des diagnostics, et l’option --send-report envoie le rapport à nos serveurs. Ensuite, contactez le support avec le jeton de support que vous recevez à la fin du rapport.
Diagnose
Si tout fonctionne localement en développement, mais que votre installation en production ne fonctionne pas encore, exécutez la commande diagnose sur votre binaire de release.
# Elixir releases
$ bin/your_app eval ":appsignal_tasks.diagnose()"
# Distillery
$ bin/your_app command appsignal_tasks diagnose
Lorsqu’il vous est demandé d’envoyer le rapport à AppSignal, choisissez Y. Ensuite, contactez le support avec le jeton de support que vous recevez à la fin du rapport.