5. Un APM, qu’est-ce donc ?
Application Performance Management (*)
Outillage de mesure des performances d’une application
Terme principal : TPS (Transaction/s)
6. Un APM c’est cher
Oui mais ça c’était avant Glowroot
7. Un APM c’est un outil d’Ops
Ops - SLA, Tuning Prod
QA - Préprod, Réduction du taux de WTF
Dev - Run à fond
8. Glowroot, APM Java
Agent Java
Mode Autonome ou connecté (Central)
Overhead marginal < 10us
Surcoût mémoire minime ~ 2ko
10. En mode autonome
Un web server sur le port 4000
En Dev sans mode debug (pleine vitesse)
En QA pour remonter rapidement des hotspots
En Prod sur une VM ou container
11. Java Agent, mode autonome
Exemple pour Tomcat
#
# Injection de l’Agent Glowroot
#
export CATALINA_OPTS="-javaagent:/path/to/glowroot.jar $CATALINA_OPTS"
Astuce: Pour Tomcat, dans bin/setenv.sh (créer le fichier et le rendre
executable)
12. En mode connecté
Connecté à Glowroot Central (HTTP/2 - gRPC)
Pré-requis un Cassandra >= 2.1
Pour suivre l’activité d’une ferme d’applications
Groupement des applications via glowroot.agent.rollup.id
Specification de l’instance via glowroot.agent.id
14. Java Agent, mode connecté
Exemple pour Tomcat
#
# Glowroot using Central
#
export CATALINA_OPTS="-javaagent:/path/to/glowroot/glowroot.jar
-Dglowroot.agent.id=tomcat
-Dglowroot.agent.rollup.id=app-voxxedlu2018
-Dglowroot.collector.address=central:8181
$CATALINA_OPTS"
19. Glowroot, en résumé
Simplissime à déployer
Agent Java
Mode Autonome ou Connecté
Déclenchement sur dépassement seuils
Pas d’impact sur le run (3us-20ko/req)
20. Glowroot, mais encore
Support natif des pistes d'exécution standards
Ajout à la volée de nouvelles pistes d'exécution
Multi protocoles (JDBC, Elastic, Cassandra ..)
Multi frameworks (Servlet, Netty, Play 1&2, VertX …)
Multi Serveurs App (Tomcat, Wildfly, Payara…)