Fermer

novembre 22, 2018

Prise en main du suivi des erreurs Sentry.io –


Cet article a été créé en partenariat avec Sentry . Merci de soutenir les partenaires qui rendent SitePoint possible.

Écrire du code peut être amusant. Le tester est une autre affaire. Bien entendu, les lecteurs de SitePoint produisent toujours des applications sans bugs, mais les erreurs peuvent néanmoins glisser dans le meilleur code de production. Comment détecter ces problèmes?…

Tests

L'écriture de logiciels pour tester des logiciels est une option. Des tests unitaires et d'intégration peuvent être adoptés pour vérifier les fonctions et les interfaces en conséquence. Malheureusement:

  1. Il peut être difficile d'écrire des tests lorsque les exigences du produit évoluent.
  2. Êtes-vous sûr que vos tests couvrent toutes les options et toutes les filières?
  3. Qui teste vos tests?

Les tests vous aident, mais l'industrie reste publie des logiciels avec des bugs, car il est impossible de couvrir tous les finalement. Un bogue survient-il dans un navigateur donné, sur un système d'exploitation donné, à une heure précise de la journée?

En outre, les tests de navigateur sont notoirement compliqués en raison de:

  • Plusieurs appareils et applications . Il existe une longue liste de navigateurs anciens, nouveaux et obscurs sur les ordinateurs de bureau, les tablettes, les smartphones, les téléviseurs, les consoles de jeux, les montres intelligentes, les appareils IoT, etc. Il est impossible de tout tester.
  • Contrôle de l’utilisateur . Tout utilisateur peut choisir de télécharger, de bloquer ou de modifier une partie de votre application. Par exemple, Firefox bloquera Google Analytics lorsque le suivi est désactivé. l'enregistrement d'un événement Analytics peut entraîner l'échec de l'application entière.
  • Échecs réseau . Même si l'utilisateur autorise tous les fichiers que vous lui envoyez, rien ne garantit qu'il recevra toutes les images, CSS, JavaScript et autres éléments. Le fait de voyager ou d'utiliser une connexion Wi-Fi dans les hôtels aggrave le problème.

Commentaires des utilisateurs

Avez-vous déjà regardé une personne utiliser votre logiciel? Ils font toujours quelque chose que vous n'avez jamais prévu. Je grimace à chaque fois que je vois une personne entrer une URL dans le champ de recherche de Google.com.

Les humains savent comment trouver leurs propres méthodes pour effectuer des tâches en fonction de l'expérience acquise. Ces processus peuvent être efficaces ou non, mais ils correspondent rarement à vos attentes, car vos expériences sont différentes. Un bogue peut se produire parce qu'une séquence de tâches est traitée d'une manière qui vous semble illogique.

De plus, la majorité des utilisateurs ne signaleront jamais un bogue. Ils ne sauront pas si la panne s’est produite dans votre application, dans le navigateur ou dans le système d’exploitation. Beaucoup risquent de se blâmer, de ne pas savoir qui contacter ou simplement de passer à un produit concurrent.

Les utilisateurs qui signalent des problèmes seront rarement en mesure de décrire le problème à moins de posséder une expertise en génie logiciel. Il est frustrant de se retrouver confronté à des dizaines de «ProductX ne fonctionne pas»

En définitive, devons-nous nous fier aux clients pour signaler les problèmes?

Journalisation

Il est possible que des erreurs de journalisation soient enregistrées. mais:

  1. Comment enregistrez-vous les erreurs complètement inattendues?
  2. Le code de journalisation continuera-t-il à s'exécuter si votre application échoue?
  3. Comment enregistrez-vous les erreurs dans des environnements indépendants de votre volonté, tels qu'un navigateur? ] Une seule erreur peut être consignée des dizaines de milliers de fois après le déploiement. Il peut être difficile d'identifier les failles critiques parmi les problèmes connus.

Heureusement, Sentry.io fournit une solution de journalisation sur stéroïdes capable de capturer les problèmes les plus obscurs.

Sentry.io Quickstart

Sentry.io est un système de suivi des erreurs full-stack à code source ouvert prenant en charge un large éventail de langages et de serveurs pour serveurs, navigateurs, ordinateurs de bureau et systèmes mobiles natifs, notamment PHP, Node.js, Python, Ruby, C #, Java, Go, Réagir, Angulaire, Vue, JavaScript et plus. Le système est utilisé par Dropbox, AirBnB, PayPal, Uber, Reddit, Mozilla, MailChimp et Microsoft pour surveiller des milliers d'applications.

Les comptes de développeur Sentry.io sont gratuits . Les options commerciales offertes aux grandes équipes générant des milliers d'événements sur plusieurs projets. Vous pouvez vous inscrire rapidement en utilisant un compte GitHub, Azure DevOps ou Sentry.io.

Lors de la connexion, vous serez invité à démarrer un nouveau projet en entrant son nom et en choisissant un technologie:

 Paramètres du projet Sentry.io

Vous recevrez ensuite un code à insérer dans votre application. Un exemple typique de JavaScript côté client nécessite deux nouvelles lignes:

 Paramètres d'intégration Sentry.io

Vous devrez peut-être configurer plusieurs moniteurs pour détecter les problèmes dans l'interface utilisateur du navigateur de votre application, application mobile et serveur principal en même temps

L'ensemble du processus prend quelques minutes. Une fois que votre application est déployée, toutes les erreurs rencontrées par les utilisateurs – qu'ils en aient connaissance ou non – sont automatiquement capturées et suivies en temps réel sur le flux d'émission de Sentry.io:

 Sentry .io issue stream

Les problèmes identiques sont présentés dans une entrée unique qui indique le nombre de déclenchements et le nombre d'utilisateurs affectés. Des détails supplémentaires peuvent être examinés pour déterminer la version du produit, la gravité du problème, le système d'exploitation, le navigateur, l'adresse IP, les dates, la pile d'appels, etc.:

 entrez la description de l'image ici

Sentry.io ne se limite pas à la

  • paramètres de configuration permettant de définir les versions des versions, les référentiels de code, les noms de serveur, les URL, etc.
  • les informations utilisateur, les messages, le balisage et les événements personnalisés
  • des widgets de commentaire utilisateur permettant d'enregistrer des informations complémentaires
  • entrante règles de filtrage des messages
  • attribution aux membres de l’équipe
  • de la création de signets, de la résolution, de la non prise en compte, du partage et de la suppression de problèmes
  • rapports sur les activités et les problèmes
  • d'un exécutable en ligne de commande permettant de signaler les problèmes de système d'exploitation ou de génération
  • API permettant de soumettre, récupérer, mettre à jour, supprimer et gérer des données d'événement
  • installations sur site
  • sécurité robuste avec authentification facultative à deux facteurs
  • intégration de la conversation avec Slack, HipChat et autres
  • support commercial et communautaire t options.

Sentry.io enregistre plus de 20 milliards d’erreurs par mois (principalement de mon code!) Les comptes de développeur sont gratuits et incluent 5 000 erreurs par mois. Engagez Sentry.io en tant que membre le plus récent de votre équipe de questions-réponses aujourd'hui !




Source link