Fermer

novembre 14, 2023

Surveillance de votre application Python avec AppSignal —

Surveillance de votre application Python avec AppSignal —


AppSignal est un APM facile à utiliser pour vos projets Ruby, Elixir, Node.js, JavaScript frontend et Python. Dans cet article, nous allons vous montrer comment utiliser AppSignal pour dynamiser votre application Python avec notre dernière initiative de codage, Nesstr, l’application de rencontres pour serpents.

AppSignal aide des milliers de développeurs, du novice à l’expert, à mieux comprendre comment et pourquoi leur application fonctionne ainsi. En bref : AppSignal ingère toutes les données de performances complexes de votre application et les traduit en informations exploitables et faciles à comprendre.

Nous avons créé cet article en partenariat avec AppSignal. Merci de soutenir les partenaires qui rendent SitePoint possible.

Table des matières

Qu’est-ce qu’un APM et comment peut-il vous aider ?

Surveillance des performances des applications (APM) aident à transformer les données de surveillance de votre application — connues sous le nom de métrique – des informations pratiques qui vous aident à améliorer les performances de votre application.

AppSignal propose des outils qui détectent les exceptions, les problèmes de performances et les anomalies telles que des temps de réponse élevés et des files d’attente de tâches en arrière-plan lentes.

En d’autres termes, si vous imaginez qu’une application est une voiture, AppSignal est un outil de diagnostic. Nous vous donnons un aperçu instantané des performances et de la santé de votre application, vous aidant à savoir quand agir avant que les voyants d’avertissement ne commencent à clignoter.

Éliminer les bogues avec AppSignal

Parfois, malgré des tests manuels et automatisés, des bugs parviennent à la production. Lorsque cela se produit, il peut être très frustrant et long d’identifier la cause profonde d’un problème.

Imaginons un scénario dans lequel les utilisateurs de Nesstr déclarent ne pas recevoir de notifications lorsque quelqu’un aime leur profil. L’action apparemment simple de « aimer » un profil implique plusieurs éléments. Les applications rendent difficile la détermination de l’origine du problème. Par exemple, est-ce dans un composant React, une fonction API ou une tâche en arrière-plan Celery ?

C’est là qu’AppSignal peut nous aider, en éliminant les incertitudes et en identifiant où une exception se produit dans notre application. Dans le cas de Nesstr, nous avons configuré AppSignal pour nous avertir via Slack chaque fois qu’un problème survient dans notre application.

Erreur AppSignal Slack

Une fois que nous avons été alertés de cette exception, nous pouvons approfondir AppSignal pour une compréhension plus complète de l’incident. AppSignal nous fournit un contexte détaillé pour chaque occurrence d’exception enregistrée.

incident d'erreur

Grâce aux données d’exception détaillées fournies par AppSignal, nous pouvons rapidement identifier la cause première du problème dans notre code. En regardant le message d’erreur enregistré dans AppSignal, nous pouvons dire que notre application essaie de récupérer le name attribut d’un noneType objet dans le send_like_notification Tâche de céleri :

@app.task
def like_profile(profile, user):
    profile.add_like_from(user)

user = User.get(user_id) 
profile = Profile.get(profile_id)
like_profile(post, user)

Au lieu de reproduire manuellement l’intégralité du flux de likes pour trouver cette erreur, nous pouvons la résoudre immédiatement en nous assurant que noneType l’objet est défini. Bon!

Surveillance des performances avec AppSignal

Après avoir corrigé notre notificateur « J’aime », AppSignal a remarqué notre fetch_matches le point final répond lentement. Grâce aux informations d’AppSignal, nous n’avons pas besoin d’attendre qu’un utilisateur se plaint, ni de télécharger un clone de base de données nettoyé pour essayer de reproduire le problème localement. Nous pouvons consulter la chronologie des événements du fetch_profiles échantillons de performances enregistrés par AppSignal.

chronologie de l'événement

Ici, on voit facilement que psycopg2 est en retard lorsque le request_match le point de terminaison est demandé, ce qui ralentit notre application.

AppSignal a non seulement éliminé toutes les incertitudes liées à la détermination de la lenteur du point de terminaison, mais il nous a également aidé à identifier de manière proactive un futur goulot d’étranglement potentiel. Nous pouvons désormais modifier notre point de terminaison et évoluer en toute confiance.

Être alerté des anomalies avec AppSignal

Maintenant que nous avons utilisé AppSignal pour résoudre certains problèmes plus flagrants dans notre application, nous pouvons utiliser AppSignal pour nous aider à adopter une approche plus proactive du développement et à anticiper les problèmes avant même qu’ils n’apparaissent.

Chez AppSignal, nous appelons cela Détection d’une anomalie. Cette fonctionnalité change la donne. Nous pouvons l’utiliser pour signaler les erreurs et repérer les performances lentes avant que cela n’affecte les utilisateurs finaux ou la disponibilité de notre application.

Avec la détection des anomalies, nous pouvons créer des déclencheurs qui nous avertissent lorsqu’une métrique souhaitée atteint un seuil spécifique, par exemple lorsque notre taux d’erreur dépasse 5 % ou qu’un point de terminaison met plus de 200 ms à répondre.

créer un déclencheur

L’avantage de la détection des anomalies est que nous pouvons la configurer d’une manière logique pour votre application et être avertis d’une manière logique pour votre organisation. Avec AppSignal, vous pouvez intégrer de nombreux outils de collaboration tiers populaires tels que Discord et Slack, ce qui signifie qu’AppSignal s’intègre à votre flux plutôt que de vous obliger à modifier votre façon de travailler habituellement.

Garder votre surveillance observable avec AppSignal

Les tableaux de bord d’AppSignal vous donnent des informations visuelles instantanées sur les métriques de votre application, vous permettant de suivre et de retracer rapidement les métriques de performances.

tableau de bord métrique

Si vous voyez quelque chose que vous souhaitez approfondir, comme un taux d’erreur qui augmente rapidement, cliquez sur ce point sur le graphique et vous verrez l’état de votre application à ce moment précis.

Vous pouvez ajouter des marqueurs personnalisés pour vous aider, vous et votre équipe, à mieux comprendre les performances de votre application, et avec la prise en charge du plein écran, vous pouvez surveiller vos métriques partout où vous pouvez installer un écran.

Gestion de vos journaux avec AppSignal

Parfois, les journaux nous donnent de bonnes informations sur les raisons pour lesquelles notre application fonctionne de manière inattendue. Avec AppSignal, vous n’avez pas besoin de vous connecter en SSH aux serveurs et de suivre vos journaux. AppSignal peut ingérer les journaux de votre application, vous offrant une vue en direct, et vous pouvez filtrer, interroger et partager avec vos coéquipiers.

Ainsi, vous pouvez passer de l’affichage d’un incident d’erreur dans AppSignal à l’affichage des journaux au moment de l’occurrence en quelques secondes.

Ce qui est formidable avec la journalisation AppSignal, c’est que peu importe où vous vous trouvez dans l’application AppSignal, grâce à notre incroyable fonctionnalité Time Detective, vous n’êtes jamais qu’à quelques clics de vos journaux.

Lorsque vous enquêtez sur une erreur ou un incident de performances, vous pouvez utiliser Time Detective pour obtenir une vue d’ensemble des performances de votre application lorsque le problème s’est produit et approfondir vos journaux pour un débogage plus approfondi.

Premiers pas avec AppSignal

Votre application Python peut transmettre des métriques à AppSignal en moins de temps qu’il n’en faut pour boire un café.

S’inscrire pour un compte AppSignal et suivez les instructions de notre assistant d’installation. L’assistant d’installation vous guidera à travers toutes les étapes nécessaires pour envoyer les métriques de votre application Python à AppSignal !

Notre Documentation Python vous guidera également à travers toutes les étapes nécessaires pour obtenir les métriques dont vous avez besoin, y compris comment installer AppSignal manuellement.






Source link

novembre 14, 2023