Profils et rapports mémoire sur le site

Les profils de performance et les rapports mémoire que votre serveur envoie à votre compte n'y sont visibles que de vous. Cette page montre où les lire et les comparer, combien de temps chaque offre les garde, et ce qu'un lien de partage public montre et laisse de côté.

Les envoyer

Rien ne quitte le serveur de lui-même : un opérateur envoie un profil ou un rapport mémoire à la fois, par une commande. Il y a deux façons de le faire :

CommandeCe que voxelbench.com reçoitOù cela aboutit
/bench profile upload <id>, /bench memory upload <id>Le fichier tel quel. Le serveur doit être liéVotre compte, en privé, quelle que soit l'offre
/bench profile share <id>, /bench memory share <id>Une copie nettoyée par le plugin. Ni compte ni serveur lié nécessairesUn lien public non répertorié, valable 7 jours (voir Liens de partage publics)

Un serveur peut envoyer 10 profils et 10 rapports mémoire par heure. Les commandes, preview et les cas où un envoi est refusé sont décrits dans Profilage et Inspection mémoire.

Où les trouver

Tableau de bord → Profils

Profils de performance liste les profils de tous vos serveurs. Filtrez-les par serveur, par déclencheur (Manuel, Tampon tournant, Après un lag), par plateforme ou par identifiant, et triez-les par date d'envoi, date de capture, échantillons de tick, fenêtre, identifiant ou plateforme. Chaque ligne donne la date de capture, la fenêtre, les échantillons (de tick et tous), la plateforme, Java, les propriétaires les plus chargés et Conservé jusqu'au. Peu d'échantillons signale un profil qui a trop peu d'échantillons de tick pour que ses pourcentages soient plus qu'indicatifs.

Une fois un serveur choisi, Évolution de ce serveur ouvre son historique de profilage.

Tableau de bord → Mémoire

Rapports mémoire liste les résumés de tas et les analyses de dump de tous vos serveurs. Filtrez-les par serveur, type, mode ou identifiant, et triez-les par date, taille du tas, part du premier plugin, nombre de suspects de fuite ou identifiant. Chaque ligne donne le tas, le plugin qui en occupe le plus, le nombre de suspects et Conservé jusqu'au. Une fois un serveur choisi, Onglet Mémoire de ce serveur l'ouvre.

Les onglets Profilage et Mémoire du serveur

Le tableau de bord de monitoring d'un serveur a un onglet Profilage et un onglet Mémoire. Sans monitoring, parce qu'il est coupé pour ce serveur ou que votre offre ne l'inclut pas, la même page montre quand même l'historique de profilage et les rapports mémoire à côté des étapes d'installation du monitoring, dès que le serveur en a envoyé un. Vous y arrivez depuis les listes ci-dessus, et depuis Historique et évolution dans la carte Profils de performance de l'onglet Monitoring des paramètres du serveur.

  • Profilage est l'historique des profils du serveur, fait de leurs résumés (voir Durée de conservation). Il montre le dernier profil, ou celui que vous choisissez : qui a occupé le tick, à quoi le tick a servi (entités, chunks, redstone, code des plugins…), les méthodes les plus chargées, les avertissements et les points clés, avec Ouvrir le profil complet tant qu'il existe. Évolution trace, sur 30 jours, 90 jours ou un an, la part des principaux plugins et de chaque sorte de travail, un point par profil ; cliquez sur un point pour afficher ce profil. Comparaison met deux d'entre eux côte à côte.
  • Mémoire liste les rapports mémoire du serveur, du plus récent au plus ancien, avec le plugin le plus lourd et le nombre de suspects de fuite, et, sur un serveur surveillé, un lien Le monitoring à ce moment vers les graphiques autour de cet instant.

Sur un serveur surveillé, les graphiques marquent chaque profil et chaque rapport mémoire envoyés d'un P et d'un M, et le tableau d'événements les liste comme des captures (voir Dashboard de monitoring).

La page d'un profil

La page d'un profil l'indique : Ce profil est privé : vous seul le voyez. Son en-tête donne le déclencheur, la fenêtre, la période d'échantillonnage, les échantillons de tick et tous les échantillons, la plateforme, les plugins, Java et le système ; un profil capturé après un lag dit de quelle sorte de lag il s'agissait. Viennent ensuite les avertissements, par exemple trop peu d'échantillons ou des piles tronquées.

Où part le temps de tick donne à chaque plugin ou composant sa part des échantillons de tick : Propre, là où il est le code le plus intérieur, et Incl., là où il apparaît n'importe où dans la pile. Quatre vues explorent ensuite les échantillons : Carte (qui pèse le plus, en surfaces), Arbre (le chemin des appels), Inversé (les méthodes par leur temps propre, avec leurs appelants) et Méthodes (un tableau triable). Vous pouvez chercher une classe, une méthode ou un plugin, filtrer par propriétaire, vous concentrer sur une branche et ouvrir le chemin le plus chargé.

Les boutons donnent Tous les profils, Comparer avec…, JSON brut (le document exactement tel que votre serveur l'a envoyé) et Supprimer. La suppression retire définitivement le profil et son résumé de VoxelBench ; la copie sur votre serveur n'est pas touchée.

Ce que mesure un profil, et ses limites, sont expliqués dans Profilage. Gardez en tête qu'il s'agit de parts d'échantillons, jamais de durées : une part qui monte n'est pas, à elle seule, la cause d'un lag.

La page d'un rapport mémoire

La page d'un rapport mémoire montre un résumé de tas ou une analyse de dump : les totaux, Mémoire par propriétaire, les classes les plus lourdes, les chargeurs de classes et, pour une analyse, les Suspects de fuite, les points d'accumulation, les objets Minecraft, les chaînes dupliquées et les collections. Les boutons donnent Tous les rapports mémoire, Comparer avec… (un autre rapport du même serveur), Le monitoring à ce moment (les graphiques du serveur de 30 minutes avant à 30 minutes après le rapport, quand ils existent), JSON brut et Supprimer, qui retire définitivement le rapport de VoxelBench sans toucher à la copie sur votre serveur.

La lecture d'un résumé et d'une analyse est expliquée dans Inspection mémoire.

Durée de conservation

Toutes les offres peuvent envoyer. L'offre décide combien d'envois sont gardés, et combien de temps :

OffreProfilsRapports mémoire
Gratuite5, pendant 30 jours5, pendant 30 jours
Pro50, pendant 180 jours50, pendant 180 jours
Enterprise200, pendant 1 an200, pendant 1 an
Hébergeur200, pendant 1 an200, pendant 1 an
  • Au-delà du nombre ou de l'âge, les plus anciens partent en premier ; rien n'est archivé. Quand votre quota est plein, la liste marque celui qui Part au prochain envoi.
  • Un serveur garde au plus 50 rapports mémoire, quelle que soit l'offre, pour qu'un serveur très actif ne chasse pas ceux des autres.
  • Un court résumé de chaque profil est conservé un an, quelle que soit l'offre, même après que les limites de votre offre ont supprimé le profil complet : c'est avec ces résumés que l'onglet Profilage montre l'historique et l'évolution du serveur. Un résumé contient des parts d'échantillons de tick et des comptes, jamais une durée. Quand le profil complet a disparu, l'onglet le marque résumé seul et propose Supprimer ce résumé.
  • Supprimer vous-même un profil supprime aussi son résumé. Délier le serveur, ou supprimer votre compte, supprime ses profils, leurs résumés et ses rapports mémoire.

Voir aussi Plans et limites.

Comparer deux profils

Cochez deux profils du même serveur dans Tableau de bord → Profils et cliquez sur Comparer, ou servez-vous de Comparer avec… sur la page d'un profil ; la liste qu'il propose inclut les profils dont il ne reste que le résumé. Avant est toujours le profil le plus ancien.

  • La page dit d'abord si les deux captures se comparent : Captures comparables, À comparer avec prudence ou ne se comparent pas de façon fiable, avec les raisons : déclencheurs, plateformes ou versions différents, fenêtres très différentes, trop peu d'échantillons.
  • Les propriétaires, les sortes de travail et les méthodes les plus chargées sont ensuite comparés en points de part des échantillons de tick, avec un statut (nouveau, disparu, en hausse, en baisse, stable, inconnu) et des Points clés.
  • Quand les deux profils complets existent encore, tous les propriétaires et 30 méthodes sont comparés. Sinon, la comparaison se fait sur les résumés : 10 propriétaires et 10 méthodes au plus par profil, et celui qui sort d'une liste a une part inconnue.
  • Le bruit est une estimation grossière du bruit d'échantillonnage ; le vrai bruit est plus grand. Un écart qui reste dedans n'est pas une preuve.

Comparer deux rapports mémoire

Cochez deux rapports du même serveur dans Tableau de bord → Mémoire et cliquez sur Comparer, ou servez-vous de Comparer avec… sur la page d'un rapport. La photo la plus ancienne sert de base, et chaque écart se lit la plus récente moins la plus ancienne.

La page dit ce qui se compare : Directement comparables (même outil, même mesure), Comparables en partie (seulement ce que les deux rapports mesurent) ou Indicatif seulement (deux outils différents), et pourquoi, par exemple un résumé de tas face à une analyse de dump, ou les objets vivants face à tous les objets. Une croissance entre deux photos n'est pas la preuve d'une fuite : un cache qui se remplit ou un monde qui se charge s'y ressemblent. Confirmez-la avec le tas après GC sur plusieurs heures, puis avec une analyse complète plus tardive.

L'API lit et compare aussi les profils et les rapports mémoire, pour leur propriétaire seulement, avec la portée monitoring:read (voir API et jetons et Brancher Claude sur votre compte).

Liens de partage publics

/bench profile share et /bench memory share publient une copie nettoyée derrière un lien de la forme voxelbench.com/p/… pour un profil ou voxelbench.com/m/… pour un rapport mémoire.

  • Qui peut l'ouvrir : toute personne qui a le lien, sans compte, pendant 7 jours. Rien ne le liste, et les moteurs de recherche sont priés de ne pas l'indexer. Au bout de 7 jours, le lien ne répond plus et la copie est supprimée.
  • Ce qu'il montre : les mêmes vues qu'une page privée, sous un bandeau qui donne la date d'expiration, et le décompte des noms que le plugin a nettoyés. Il ne montre ni serveur, ni propriétaire, ni compte, et voxelbench.com n'en garde aucun avec le partage. Il n'offre pas de téléchargement JSON brut.
  • Il n'est pas dans votre compte : un partage n'appartient à aucun compte et n'apparaît nulle part dans votre tableau de bord. Pour le supprimer avant son expiration, lancez /bench profile unshare <id> ou /bench memory unshare <id> sur le serveur, même après avoir supprimé le fichier local.
  • Signaler : toute personne qui voit une page partagée peut la signaler ; un administrateur l'examine et peut la retirer.
  • Seules les versions officielles de VoxelBench peuvent partager.

Confidentialité

  • Un vidage du tas ne quitte jamais le serveur. Il contient tout ce que le serveur avait en mémoire, jeton de liaison compris. Aucune commande, aucun bouton, aucun mécanisme automatique n'en envoie ; seuls les résumés et les analyses qu'on en tire peuvent partir (voir Inspection mémoire).
  • Un envoi est le fichier tel que le plugin l'a écrit, privé à votre compte. Un profil contient des noms de plugins, de classes, de méthodes et de threads, qui révèlent vos plugins, privés compris ; un rapport mémoire contient des noms de classes, de champs et de plugins, des tailles et des comptes, jamais une valeur tirée du tas.
  • Un partage est une copie que le plugin nettoie avant l'envoi. Il y remplace par un marqueur comme [ip] les adresses IP, les noms d'hôtes, les URL, les adresses email, les chemins de fichiers, les UUID, les longues chaînes hexadécimales et les noms que le serveur connaît (joueurs en ligne, mondes autres que ceux par défaut, utilisateur et nom de la machine, dossier du serveur, son identifiant et son jeton de liaison), et laisse de côté tout champ qu'il ne sait pas sûr. Le partage d'un rapport mémoire arrondit en plus sa date à l'heure, retire les chiffres de mémoire de la machine et arrondit les tailles du tas. Les noms des plugins restent : ce sont eux qui rendent la copie utile à qui vous aide. Le détail est dans Profilage et Inspection mémoire.