BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités New Relic Propose Un Profiler Java En Temps Réel Via JFR

New Relic Propose Un Profiler Java En Temps Réel Via JFR

New Relic a publié une nouvelle fonctionnalité de profilage en temps réel dans New Relic One qui diffuse des données de performance de la JVM provenant d'applications de production avec un overload extrêmement faible. La fonctionnalité fonctionne via Java Flight Recorder, une fonctionnalité de la JVM qui a été open-sourcée par Oracle dans Java 11.

Le profiler en temps réel va au-delà de l'interface graphique unique de Java Flight Recorder, Java Mission Control, pour offrir une visibilité sur de nombreuses JVM sur une longue période. Cette fonctionnalité est similaire à l'offre récente de Continuous Profiler de DataDog qui était annoncé en août. Les deux offres exploitent la même fonctionnalité, JFR, qui a remporté le "March Madness" d'Oracle en Java pour sa popularité. Flight Recorder et Mission Control sont des capacités bien développées, ayant été dans la JVM commerciale JRockit depuis avant 2010, et une partie commerciale de la version Java SE 8 d'Oracle. Tout le code est désormais entièrement gratuit et open source. Avant les profilers continus, de nombreux profilers reposait sur l'instrumentation, l'analyse des journaux ou le code chargé en natif.

Les outils de surveillance qui tirent parti de JFR obtiennent des informations plus approfondies sur la JVM et ses opérations, telles que l'analyse à partir du tampon d'allocation ThreadLocal (TLAB) qui peut identifier les threads qui allouent quels types d'objets. Cela peut souvent être utilisé en relation avec l'analyse du ramasse-miettes pour révéler non seulement ce qui est recupéré, mais également d'où il vient.

New Relic One offre aux développeurs une vue cohérente sur un ensemble de flight recorders pouvant incorporer des informations contextuelles supplémentaires, telles que des journaux. L'ajout d'informations de journalisation aide ceux qui interprètent les résultats à aller au-delà des données pour voir ce que l'application faisait à un moment donné, plutôt que de lire uniquement des mesures techniques pures.

Un autre avantage du contexte provient de l'intégration de l'analyse approfondie de JFR avec des informations sur l'infrastructure : détection de type voisin bruyant. Lorsque de nombreuses applications sont hébergées sur les mêmes systèmes pour consommer la même capacité de calcul et de stockage, une dégradation des performances apparaît souvent. Lors du suivi de chaque métrique ou métrique d'application seule, les opérateurs peuvent être induits en erreur pour enquêter sur les problèmes de performances de l'application lorsque la cause est un voisin se disputant les mêmes ressources. Grâce à son niveau d'observation, la capacité de profilage continu peut aider à différencier lorsque les mesures suivies proviennent d'un problème d'application par rapport à un problème d'infrastructure.

Un inconvénient de l'angle de la surveillance et de l'observabilité est la dépendance à l'attention humaine et au temps de réaction pour répondre aux problèmes qui apparaissent sur le tableau de bord. Plus de données ou des données continues ne produisent pas automatiquement des résolutions plus rapides. AWS a récemment publié un "guide des meilleures pratiques pour les tableaux de bord opérationnels", avec l'observation que, "nous avons constaté que tout processus opérationnel nécessitant un examen manuel des tableaux de bord échouera en raison d'une erreur humaine, quelle que soit la fréquence à laquelle les tableaux de bord sont examinés". Les conseils d'AWS conduisent à des alarmes automatiques, tandis que d'autres organisations, telles que Turbonomic, s'orientent vers l'automatisation de action.

Un exemple est le problème du voisin bruyant par rapport à la concurrence pour le processeur sur un hôte, où une action courante consiste àutiliser VMotion pour déplacer une des machines virtuelles vers un hôte différent moins utilisé dans le même cluster. Dans ce scénario, un tableau de bord fournirait la capacité de «visualisation» pour afficher le problème. Un système d'alerte fournirait une vision similaire, pour attirer l'attention. Un système de contrôle automatisé fournirait le «faire», en utilisant sa compréhension de l'infrastructure pour faire la vmotion, corriger le problème, puis informer les administrateurs en leur indiquant qu'un problème se produirait au cas où une attention serait nécessaire. L'avantage de l'action automatisée est une compréhension continue et l'application d'un moyen beaucoup plus rapide d'appliquer cette compréhension pour prendre une décision sur une grande infrastructure en un temps limité.

Les développeurs à la recherche de mesures continues à partir d'applications de production ou de services scalable peuvent s'inscrire pour des comptes gratuits sur New Relic One.

 

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT