Les objets de la classe Stats ont les méthodes suivantes:
'time' ou 'name').
Quand on fournit plus d'une clé, alors les clés additionnelles sont utilisées comme second critère de choix quand il y a égalité dans toutes les clés sélectionnées avant elles. Par exemple, "sort_stats('name', 'file')" effectuera le tri de toutes les données suivant leurs noms de fonctions et résoud les cas d'égalité ( noms de fonctions identiques) en triant par noms de fichiers.
On peut utiliser des abbréviation pour tout nom de clé tant que l'abbréviation n'est pas ambigüe. Les clés couramment définies sont les suivantes:
| Arg Valide | Signification |
|---|---|
'calls' | nombre d'appels |
'cumulative' | temps cumulé |
'file' | nom de fichier |
'module' | nom de fichier |
'pcalls' | nombre d'appels primitifs |
'line' | nombre de lignes |
'name' | nom de fonction |
'nfl' | name/file/line |
'stdname' | nom standard |
'time' | temps interne |
On notera que tous les tris sur les statistiques sont en ordre décroissant (en placant les éléments qui consomment le plus de temps en tëte), tandis que les tris sur les noms, les fichiers et les nombres de lignes sont par ordre croissant (c.-à-.d , alphabétique). La subtile distinction entre 'nfl' and 'stdname' est que 'stdname' est un tri des noms comme ils seront imprimés, ce qui signifie que les nombres de lignes incluses seront comparés d'une manière bizarre. Par exemple, les lignes 3, 20, et 40 (si les noms de fichiers étaient les mëmes ) apparaîtraient dans l'ordre des chaînes de caractères '20', '3' et '40'. Par contre 'nfl' réalise une comparaison numérique des nombres de lignes. En fait, sort_stats('nfl') est la mëme chose que sort_stats('name', 'file', 'line').
Pour des raisons de compatibilité avec l'ancien profileur, les arguments numériques -1, 0, 1, et 2 sont permis. Ils seront interprétés respectivement comme 'stdname', 'calls', 'time', et 'cumulative'. Si l'ancien style de format (numérique) est mis en oeuvre, on ne doit utiliser qu'une seule clé de tri (la clé numérique) et les arguments supplémentaires seront ignorés sans perturbations.
Cette méthode de la classe Stats imprime le rapport comme décrit dans la définition de profile.run() .
L'ordre de l'impression est basé sur la dernière opération sort_stats() effectuée sur l'objet (sous réserve des appels à add() et strip_dirs()).
Les arguments fournis (s'il y en a) peuvent ëtre utilisés pour limiter la liste aux données significatives. Au départ, la liste comprend l'ensemble complet des fonctions profilées. Chaque restriction est soit un nombre entier (pour selectionner un nombre de lignes), ou une fraction décimale entre 0.0 et 1.0 inclus (pour sélectionner un pourcentage de lignes), ou une expression régulière (pour co"ncider avec le nom standard qui est imprimé; comme pour Python 1.5b1, ceci utilise la syntaxe des expressions régulières dans le style Perl définie par le module re ). Si on fournit plusieurs restrictions, elles sont alors appliquées séquentiellement. Par exemple:
print_stats(.1, 'foo:')
limiterait d'abord l'impression aux premiers 10% de la liste et imprime seulement les fonctions qui font partie du fichier de nom ".*foo:". Par contre la commande:
print_stats('foo:', .1)
limiterait la liste à toutes les fonctions dont le nom de fichier est ".*foo:", et imprimerait seulement les 10% premières d'entre elles.
None. La méthode est encore définie pour des raisons de compatibilité descendante.