Application Performance Monitoring

Analyser la performance des applications go APM

Qu'est-ce que Go ?

Go, familièrement appelé Golang, est un langage de programmation polyvalent qui a été développé par Google en 2007. Offrant une combinaison puissante de typage statique et de syntaxe de haut niveau, Go s'est positionné comme un langage distinctif dans le monde de la programmation. À bien des égards, la syntaxe de Go ressemble étrangement à celle du langage C, ce qui le rend familier et accessible à ceux qui connaissent ce langage. Cependant, Go va au-delà des capacités du C, en introduisant un ensemble de fonctionnalités robustes conçues pour rationaliser et améliorer le processus de programmation.

Le langage Go est réputé pour ses mécanismes avancés de sécurité de la mémoire. Cette fonctionnalité est essentielle pour prévenir les erreurs de programmation qui pourraient entraîner des vulnérabilités ou des pannes, garantissant ainsi la robustesse des logiciels développés avec Go. En outre, Go intègre le ramassage automatique des ordures, une fonctionnalité innovante qui gère l'allocation de la mémoire, éliminant ainsi la nécessité d'une gestion manuelle de la mémoire. Cela simplifie considérablement la programmation, en réduisant les erreurs potentielles et en améliorant l'efficacité du développement du code.

En outre, Go est unique en raison de son utilisation du typage structurel et de la concurrence de type CSP (Communicating Sequential Processes). Le typage structurel, également connu sous le nom de "duck typing", permet une plus grande flexibilité dans la définition et l'utilisation des types, ce qui favorise la réutilisation et l'adaptabilité du code. La concurrence de type CSP, quant à elle, est l'une des caractéristiques les plus appréciées de Go. Elle permet de développer des programmes concurrents, dans lesquels plusieurs calculs sont exécutés pendant des périodes de temps qui se chevauchent. Il en résulte des programmes très efficaces et performants, capables de gérer un grand nombre de tâches simultanément. Dans l'ensemble, Go est un langage qui va de l'avant, équilibrant habilement familiarité et innovation, et dotant les programmeurs des outils dont ils ont besoin pour créer des logiciels efficaces, efficients et sûrs.

Instrumentation des applications Go

Le package appservice-go associé à une librairie d'instrumentation Go permet de collecter les métriques de performance et les erreurs du serveur d'applications.

Go ne supporte pas l'instrumentation automatique comme d'autres langages aujourd'hui. Au lieu de cela, vous devrez dépendre de bibliothèques d'instrumentation qui génèrent des données télémétriques pour une librairie instrumentée particulière. Par exemple, la librairie d'instrumentation pour net/http créera automatiquement des zones qui suivent les requêtes entrantes et sortantes une fois que vous l'aurez configurée dans votre code. Elle dispose d'un support intégré pour les frameworks les plus répandus, ainsi qu'un support pour l'instrumentation des pilotes net/http, database/sql intégrés à Go.

Afin de connecter les transactions avec les spans et les erreurs associées, et de propager les traces entre les services (traçage distribué), la librairie s'appuie sur le package de contexte intégré de Go : les transactions et les spans sont stockés dans des objets de contexte. Par exemple, pour les requêtes HTTP entrantes, les données de traçage en vol seront enregistrées dans l'objet contextuel accessible par net/http.Context.

Supervision des traces d'applications Go

Les ressources sont automatiquement créées à partir de ce package après avoir déployé l'Agent ServicePilot avec la configuration adéquate de la librairie APM Go. Il surveille les requêtes web HTTP(S) des processus Go.

Ceci permet de collecter des statistiques résumées (min,max,avg...) par application Go telles que :

  • Requêtes par minute
  • Somme des requêtes par code de retour HTTP et méthodes
  • Nombre de requêtes dans chaque intervalle de temps de réponse
  • Requêtes établies ou interrompues

Afin de fournir un aperçu approfondi de l'application Go, les détails recueillis par requête comprennent :

  • Host et chemin de page web
  • IP client et serveur
  • Temps de réponse réel des utilisateurs
  • HTTP Return code et method
  • Pays client et géolocalisation pour les IPs publiques

Comment installer une ressource appservice-go ?

  1. Utilisez votre installation ServicePilot OnPremise ou un compte SaaS.
  2. Ajoutez une nouvelle ressource appservice-go via l'interface web (/prmviews ou /prmresources) ou par API (page /prmpackages), l'agent ServicePilot par défaut ou un autre agent sera provisionné automatiquement.

Les détails du package appservice-go sont situés dans la page /prmpackages du logiciel.

Avantages de la solution ServicePilot

ServicePilot vous permet de fournir des services informatiques plus rapidement et en toute sécurité grâce à la découverte automatique et aux fonctions avancées de monitoring.

En corrélant la technologie GO APM avec l'APM et la surveillance de l'infrastructure, ServicePilot est en mesure de fournir une vue plus complète de l'environnement informatique d'une organisation.

Cela permet aux équipes informatiques d'identifier et de diagnostiquer rapidement les problèmes susceptibles d'affecter les performances des applications, et de prendre des mesures correctives avant que les utilisateurs finaux ne soient affectés.

Commencez par un essai gratuit de notre solution SaaS. Explorez nos plans ou contactez-nous pour trouver ce qui vous convient le mieux.

En savoir plus

Installation gratuite en
quelques clics

SaaS Plateforme

Déploiement flexible en fonction de vos besoins (SaaS, hybride, on-premise) pour accélérer la mise en place de la supervision.
  • Pas de configuration logicielle sur site, de maintenance et de configuration complexe
  • Installation instantanée, complète et préconfigurée pour assurer une surveillance robuste

OnPremise Plateforme

Déploiement flexible en fonction de vos besoins (SaaS, hybride, on-premise) pour accélérer la mise en place de la supervision.
  • Contrats et engagements sur la durée ( > 1 an )
  • Gestion des performances, du Stockage des données et de l'infrastructure
  • 2 solutions supplémentaires : Surveillance VoIP et mainframe