Simple Science

La science de pointe expliquée simplement

# Informatique # Génie logiciel

Mint : Une nouvelle façon de gérer les données de traçage

Mint capture et gère les données de traçage efficacement pour de meilleures perspectives.

Haiyu Huang, Cheng Chen, Kunyi Chen, Pengfei Chen, Guangba Yu, Zilong He, Yilun Wang, Huxing Zhang, Qi Zhou

― 8 min lire


Mint transforme la Mint transforme la gestion des données de trace. gardant toutes les infos importantes. Gère efficacement les traces tout en
Table des matières

Dans le monde numérique d'aujourd'hui, les systèmes logiciels sont devenus vraiment grands et compliqués. Quand ces systèmes tournent, ils créent plein de données sur ce qu'ils font. Ces données sont connues sous le nom de Traces distribuées. Bien que ces traces soient super utiles pour comprendre ce qui se passe dans un système, elles peuvent aussi être lourdes à gérer, comme essayer de porter une énorme valise remplie de briques. Le défi ici est de garder les parties importantes de ces traces sans être enterré sous le poids de toutes les données supplémentaires.

Dans la plupart des systèmes, la façon courante de gérer ça est de prendre seulement quelques traces et d'ignorer le reste. Cette méthode s'appelle l'Échantillonnage. Imagine prendre juste une part de pizza d'une énorme pizza. Certes, tu obtiens une part, mais que se passe-t-il si cette part rate les meilleurs ingrédients ? C'est un peu comme ce qui se passe quand tu utilises les méthodes d'échantillonnage standard. Tu obtiens des données, mais tu passes à côté de beaucoup d'infos utiles.

Le Problème des Méthodes d'Échantillonnage Actuelles

Les méthodes d'échantillonnage standard fonctionnent en choisissant certaines traces à garder tout en jetant le reste à la poubelle numérique. Cette approche peut mener à deux gros problèmes :

1. Jeter des Infos Précieuses

Quand on prend juste quelques traces, on a de bonnes chances que celles qu'on jette contiennent des détails utiles qu'on ne savait même pas qu'on en avait besoin. Par exemple, une équipe pourrait vouloir analyser des problèmes qui se sont produits il y a quelques jours, mais si les traces de ce jour-là n'ont pas été gardées, ils n'ont pas de chance. Dans une étude, il a été constaté qu'environ 27 % du temps, le système passe à côté de traces importantes parce qu'elles ont été jetées. C'est un peu comme perdre une clé de voiture juste au moment où tu as besoin de conduire quelque part !

2. Ne Pas Soulager la Charge

Un autre souci est que, bien que certaines méthodes réduisent le nombre de traces sauvegardées, elles ne rendent pas vraiment les traces elles-mêmes plus petites. Chaque trace peut avoir plein d'infos détaillées, ce qui les rend volumineuses. Les méthodes classiques échouent à réduire la taille de ces traces, ce qui engendre un surplus de données inutile.

Nouvelle Approche : Communalité et Variabilité

Pour résoudre ces problèmes, une nouvelle idée a été mise en place. Au lieu de simplement jeter la plupart des traces, on peut chercher des similitudes et des différences dans les traces qu'on a. Pense à ça comme ne pas juste prendre une part de pizza, mais examiner toute la pizza pour voir quelles parts sont similaires et lesquelles ont des ingrédients uniques. De cette façon, on peut garder toutes les meilleures parties sans se sentir submergé.

Comment Ça Marche

Voici comment ça se passe : au lieu d'utiliser la stratégie "1 ou 0" (garder une trace ou la jeter), on peut décomposer les traces en deux parties :

  1. Modèles Communs : Ce sont les éléments qui apparaissent dans de nombreuses traces. C'est comme les ingrédients communs sur une pizza : fromage, sauce et pâte.

  2. Paramètres Variables : Ce sont les extras qui changent d'une trace à l'autre, comme les garnitures qui varient d'une part à l'autre.

En se concentrant sur ces deux aspects, on peut garder les infos générales utiles tout en notant les détails spécifiques différents quand c'est nécessaire. Ça veut dire qu'on peut éviter de jeter les bonnes parties !

Présentation de MINT : Un Cadre de Traçage

Pour mettre cette nouvelle idée en pratique, un système appelé Mint a été développé. Mint est un outil intelligent qui permet de capturer toutes les traces tout en gardant la taille des données sous contrôle. C'est comme avoir une boîte à pizza magique qui peut gérer n'importe quelle taille de pizza tout en la maintenant chaude !

Comment Mint Fonctionne

Mint fonctionne en commençant par analyser les traces pour trouver des modèles communs et des parties variables. Ensuite, il sauvegarde ces modèles et paramètres efficacement. Voici comment ça se passe :

  1. Génération de Données de Traces : Quand du trafic arrive, Mint crée des données de traces sans les enregistrer tout de suite. Au lieu de ça, il les garde pour une analyse future.

  2. Analyse des Spans : Chaque partie d'une trace s'appelle un span. Mint regarde chaque span pour voir comment il s'intègre dans le grand tableau. Il identifie les modèles et les stocke dans une bibliothèque.

  3. Création de Sous-Traces : Les traces peuvent être liées ensemble pour former des sous-traces, aidant Mint à comprendre comment différentes parties se connectent.

  4. Téléversement d'Infos de Base : Mint envoie régulièrement des infos de base à un système central pour s'assurer que rien ne se perd.

  5. Échantillonnage Intelligent : Au lieu de simplement marquer des traces à garder ou à jeter, Mint utilise des règles intelligentes pour prioriser quelles traces garder en fonction de comportements anormaux ou uniques.

  6. Combinaison d'Informations : Quand les utilisateurs veulent consulter des données, Mint peut rassembler tous les éléments, même ceux des traces qui étaient marquées pour être jetées, afin qu'ils aient toujours une vue d'ensemble.

Avantages de l'Utilisation de Mint

Avec cette nouvelle manière de gérer les traces, Mint offre plusieurs avantages importants :

1. Garde Toutes les Demandes

Mint est conçu pour capturer chaque demande qui arrive. Donc, au lieu de s'inquiéter de rater des infos précieuses, les utilisateurs peuvent être tranquilles car ils ont toutes les données dont ils ont besoin.

2. Réduit les Besoins de Stockage

Grâce à sa gestion intelligente des données, Mint arrive à réduire la taille globale des données de traces. La surcharge de stockage tombe à environ 2.7 %, ce qui facilite grandement la gestion sans perdre d'infos.

3. Léger pour la Production

Mint est aussi conçu pour être assez léger pour fonctionner dans un environnement en temps réel sans ralentir les choses. Ça signifie que les utilisateurs peuvent bénéficier d'un traçage détaillé sans se sentir submergés par le surplus de boulot.

Applications Réelles

Mint a été testé dans des environnements réels, notamment dans de grands services cloud. Regardons comment ça fonctionne en pratique :

1. Observation des Traces

Dans une grande plateforme de commerce en ligne, Mint est utilisé pour surveiller le trafic et capturer des données. Pendant que les utilisateurs font leurs achats en ligne, Mint suit toutes les infos, peu importe la taille du flux de données. Ça signifie que les équipes peuvent garder un œil sur tout ce qui se passe en temps réel.

2. Analyse du Comportement Système

Avec toutes les traces enregistrées, les analystes peuvent efficacement repérer des problèmes quand ils surviennent. Par exemple, si un client se plaint d'un processus de paiement lent, l'équipe peut revenir sur les traces pour comprendre ce qui s'est passé et pourquoi. C'est comme revoir une rediffusion d'un match pour voir où étaient les erreurs.

3. Apprentissage à Partir de Cas Marges

En plus de surveiller les situations courantes, Mint aide à apprendre des cas rares - ces occurrences inhabituelles qui ne se produisent pas souvent mais qui sont quand même importantes. En gardant une trace de ces cas, les équipes peuvent être mieux préparées pour de futures anomalies.

Conclusion

Les anciennes méthodes de gestion des données de traçage deviennent obsolètes, un peu comme essayer de se connecter à Internet avec une connexion par modem. En se recentrant sur les modèles communs et les détails variables, Mint a créé un système qui conserve des informations précieuses sans alourdir les performances.

Dans un monde où les données sont partout, Mint offre une approche fraîche, s'assurant que rien d'essentiel n'est jeté. Maintenant, tout le monde peut profiter de sa part de pizza sans se soucier de rater les garnitures !

Avec l'utilisation de l'échantillonnage intelligent et d'un stockage efficace, Mint prouve être un excellent outil pour toute organisation cherchant à simplifier ses processus de traçage tout en gardant les choses légères et efficaces. C'est un vrai changement de jeu pour ceux qui naviguent dans les eaux complexes des systèmes logiciels modernes !

Source originale

Titre: Mint: Cost-Efficient Tracing with All Requests Collection via Commonality and Variability Analysis

Résumé: Distributed traces contain valuable information but are often massive in volume, posing a core challenge in tracing framework design: balancing the tradeoff between preserving essential trace information and reducing trace volume. To address this tradeoff, previous approaches typically used a '1 or 0' sampling strategy: retaining sampled traces while completely discarding unsampled ones. However, based on an empirical study on real-world production traces, we discover that the '1 or 0' strategy actually fails to effectively balance this tradeoff. To achieve a more balanced outcome, we shift the strategy from the '1 or 0' paradigm to the 'commonality + variability' paradigm. The core of 'commonality + variability' paradigm is to first parse traces into common patterns and variable parameters, then aggregate the patterns and filter the parameters. We propose a cost-efficient tracing framework, Mint, which implements the 'commonality + variability' paradigm on the agent side to enable all requests capturing. Our experiments show that Mint can capture all traces and retain more trace information while optimizing trace storage (reduced to an average of 2.7%) and network overhead (reduced to an average of 4.2%). Moreover, experiments also demonstrate that Mint is lightweight enough for production use.

Auteurs: Haiyu Huang, Cheng Chen, Kunyi Chen, Pengfei Chen, Guangba Yu, Zilong He, Yilun Wang, Huxing Zhang, Qi Zhou

Dernière mise à jour: 2024-11-07 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2411.04605

Source PDF: https://arxiv.org/pdf/2411.04605

Licence: https://creativecommons.org/licenses/by/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires