Commençons par « pourquoi » devrait-on même s'embêter à configurer Datadog sur la machine locale. Je peux partager ma motivation pour le mettre en place Mon "pourquoi" fort : essayer de donner un sens aux tests aléatoires : Nous avions une vaste suite de tests de bout en bout avec une couverture élevée. Mais malheureusement, les tests sont devenus de plus en plus flous au fil du temps. À ma grande consternation, lorsque les tests étaient exécutés de manière isolée, ils réussissaient. Lorsque nous avons exécuté toute la suite de tests, de nombreux tests commençaient à échouer. Les logs de l'application correspondant aux tests doivent nous aider à déboguer. Mais je ne pouvais même pas comprendre où les journaux d'un test particulier commençaient et se terminaient, et encore moins leur donner un sens. Datadog à la rescousse 🦸 ! Nous avons utilisé dans notre projet pour visualiser les journaux de production et nous l'avons trouvé super utile. C'est alors que j'ai eu une épiphanie ! Et si je configurais Datadog localement pour disséquer ces logs ? Et c'est ce qui a déclenché le contenu de ce billet de blog. Datadog Notre application est écrite en Java et ma machine locale tourne sous MacOS. Vous pouvez modifier les étapes ci-dessous en fonction de vos besoins. Que devez-vous configurer : Inscrivez-vous à Datadog . Notre portée ici est uniquement le débogage local, donc un devrait suffire. ici essai gratuit Datadog Agent est le Des paramètres tels que le nom du service, l'environnement, etc. peuvent être définis dans l'agent. logiciel qui surveille l'hôte sur lequel il s'exécute. , la bibliothèque Java cliente APM (App Performance Monitoring) de Datadog. est un jar qui contient des API pour automatiquement ou manuellement et Applications Java. dd-trace-java dd-trace-java trace profil Étape 1 - Processus d'inscription : Après avoir donné votre identifiant de messagerie et d'autres détails, vous serez invité à choisir votre pile technologique sur la page suivante. après avoir cliqué sur "Suivant", vient la partie la plus importante. Vous recevrez les instructions de « configuration de l'agent ». Ma machine locale est MacOSX, je l'ai donc choisi de manière appropriée. Veuillez noter les valeurs et , car elles seront utilisées dans les étapes suivantes. DD_API_KEY DD_SITE Étape 2— Installation de l'agent Datadog : Pour MacOS, vous pouvez installer via (gestionnaire de paquets pour MacOS). Utilisez le . ¹ brasser commandes données ici pour l'installation Personnalisez le comme indiqué ci-dessous datadog-agent Une fois l'étape ci-dessus terminée, il vous sera demandé de "Terminer" dans l'interface utilisateur Datadog-web. Vous serez invité à ajouter des . Vous pouvez ajouter , etc. (selon les besoins de votre projet). integrations Java Docker Étape 3 — Installez le traceur Datadog : Téléchargez le jar à partir de ² dd-java-agent ici Pour votre application Java, assurez-vous que vous utilisez une version de Java fournie avec un intégré. Ceci est nécessaire pour le traçage. OpenJdK8 est livré avec un intégré. Si vous utilisez Oracle Java, vous avez besoin d'une licence commerciale pour utiliser **FlightRecorder.**³ FlightRecorder FlightRecorder Exécution de votre application : ajoutez les options VM pour notre application java : -javaagent:"/Users/home/Downloads/dd-java-agent.jar" -Ddd.profiling.enabled=true -Ddd.logs.injection=true -Ddd.agent.port=8126 -Ddd.service=ecommerce-service -Ddd.env=local -XX:FlightRecorderOptions=stackdepth=256 Si vous utilisez une tâche , vous pouvez inclure les comme ci-dessous : gradle jvmArgs jvmArgs = ["-javaagent:/Users/home/Downloads/dd-java-agent.jar", "-XX:FlightRecorderOptions=stackdepth=256", "-Ddd.profiling.enabled=true", "-Ddd.logs.injection=true", "-Ddd.agent.port=8126", "-Ddd.service=ecommerce-service", "-Ddd.env=local"] Démarrez maintenant votre application Java. Si le traçage se déroule correctement, vous devriez voir les journaux ci-dessous : Connexion à Datadog : Pour permettre aux journaux d'être diffusés en continu vers Datadog, suivez les instructions de l'interface utilisateur Web de Datadog. ⁴ Pour — Le répertoire de configuration est et le fichier est présent dans macOS ~/.datadog-agent/conf.d/java.d ~/.datadog-agent/conf.d/java.d/conf.yaml et maintenant, les devraient commencer à circuler dans Datadog. logs Quelques conseils: Ajoutez les journaux appropriés au début et à la fin de chaque méthode dans votre application. C'est très utile lors du débogage. debug Ajoutez un mécanisme pour injecter et . C'est une bouée de sauvetage incroyable et place les journaux dans le bon contexte.⁵ span id trace id Conclusion: Une fois que j'ai eu l'agent Datadog opérationnel localement, j'ai pu voir toutes les demandes de manière contextuelle. Et voila ! Tous mes tests de bout en bout réussissent maintenant 🙂 Bonne journalisation ! Information additionnelle: ¹Vous pouvez également télécharger le et installez-le. Ce lien peut également être obtenu à l'étape "Configuration de l'agent" ci-dessus (reportez-vous à la capture d'écran) paquet dmg ²Télécharger directement le pot. dd-trace-java ³ À partir du JDK 11, nous pouvons utiliser sans rien activer. Plus de détails peuvent être trouvés . FlightRecorder ici ⁴Plus de détails sont . ici ⁵Si votre application est Java, vous pourriez utiliser cette bibliothèque pour ajouter et à la requête. printemps-nuage-détective span_id trace_id