Maison >développement back-end >Golang >Golang : importance de planifier l'affichage des journaux dans les applications à forte utilisation

Golang : importance de planifier l'affichage des journaux dans les applications à forte utilisation

DDD
DDDoriginal
2024-10-11 10:09:30775parcourir

La plupart du temps, nous ne consacrons pas le temps nécessaire à planifier correctement nos logs d'applications, ce qui nous amène par la suite à des retouches, souvent inutiles.

L'utilisation bien planifiée et appliquée des logs peut, en plus d'améliorer l'analyse future d'un problème, avoir un impact significatif sur les performances de l'application, notamment pour les processus intenses.

En pensant illustrer et démontrer un peu cet impact, voici deux exemples avec leur benchmark, respectivement.

La première d'une manière courante de "enregistrer" des informations dans le code, mais peu de valeur informative, devient simplement des données :

benchmark_logs_test.go
Golang: Importância de planejar como exibir logs em aplicações de uso intenso

Référence :
Golang: Importância de planejar como exibir logs em aplicações de uso intenso

Et le second avec le journal structuré, affichant uniquement à la fin les heures de début et de fin ainsi que le message.

benchmark_logs_enhancement_test.go
Golang: Importância de planejar como exibir logs em aplicações de uso intenso

Référence :
Golang: Importância de planejar como exibir logs em aplicações de uso intenso

Les deux exemples ont une boucle de cent mille index, qui, à l'aide de goroutines, incrémente une variable.
Au démarrage, l'heure actuelle est capturée, et une fois terminé, le temps qu'il a fallu est imprimé.
J'utilise la bibliothèque de journaux logrus, car elle possède de nombreuses propriétés et fonctionnalités intéressantes, telles que la journalisation structurée.

Vous voyez clairement la différence qu'un log mal pensé peut provoquer dans les performances des applications.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn