Tools.Monitoring

class Monitoring(interval: float = 1.0)[source]

Bases : object

Classe de monitoring qui suit l’utilisation des ressources (CPU, mémoire, disque) pendant l’exécution des tests.

Cette classe collecte les informations sur l’utilisation des ressources du système durant l’exécution des tests. Elle fournit des fonctionnalités pour démarrer et arrêter la surveillance, mettre à jour les valeurs des ressources, et générer des graphiques ou des fichiers texte avec ces données.

Attributs :
  • cpu (List[float]) : Liste des valeurs d’utilisation du CPU.

  • memory (List[float]) : Liste des valeurs d’utilisation de la mémoire.

  • disk (List[float]) : Liste des valeurs d’utilisation du disque.

  • times (List[float]) : Liste des timestamps correspondant aux valeurs des ressources.

  • monitoring (bool) : Indique si la surveillance est en cours ou non.

  • thread (threading.Thread) : Le thread qui exécute le monitoring.

  • tests_info (List[dict]) : Liste des informations relatives aux tests exécutés.

  • interval (float) : Intervalle de temps entre chaque mise à jour des données en secondes.

interval: float = 1.0

Intervalle de temps entre chaque mise à jour des données en secondes.

_cpu: List[float]

Liste des valeurs d’utilisation du CPU.

_gpu: List[float]

Liste des valeurs d’utilisation du GPU.

_memory: List[float]

Liste des valeurs d’utilisation de la mémoire.

_disk: List[float]

Liste des valeurs d’utilisation du disque.

_times: List[float]

Liste des timestamps.

_monitoring: bool = False

Indique si la surveillance est en cours ou non.

_thread: Thread

Le thread qui exécute le monitoring.

_tests_info: List[dict]

Liste des informations relatives aux tests exécutés.

_figure: Figure

Figure finale du monitoring.

_gpu_handle: Any = None

GPU à surveiller.

property n_entries: int

Retourne le nombre d’entrées (mesures) dans le monitoring.

Renvoie:

Nombre d’entrées dans les listes de données.

_reset()[source]

Réinitialise toutes les données de monitoring (CPU, mémoire, disque, etc.).

_update()[source]

Met à jour les valeurs d’utilisation du CPU, de la mémoire et du disque en fonction des processus en cours.

start(interval: float = 1.0)[source]

Démarre la surveillance des ressources.

Paramètres:

interval – Intervalle de mise à jour des données (en secondes).

monitor()[source]

Surveille les ressources en continu dans un thread séparé.

stop()[source]

Arrête la surveillance et effectue une dernière mise à jour des valeurs.

add_test_info(name: str)[source]

Ajoute des informations sur un test dans la liste des tests.

Paramètres:

name – Le nom complet du test, au format « <path>test_<file>.py::test_<test_name> ».

_update_array_for_readability(round_time: int = 2)[source]

Met à jour les tableaux pour faciliter la lecture (ajustement des timestamps et normalisation).

Paramètres:

round_time – Le nombre de décimales pour arrondir les timestamps.

static get_y_range(data, padding_ratio: float = 0.0)[source]

Calcule la plage de valeurs de l’axe Y avec un espacement supplémentaire autour des valeurs.

Paramètres:
  • data – Liste des données pour lesquelles la plage doit être calculée.

  • padding_ratio – Rapport d’espacement ajouté à la plage des données.

Renvoie:

La plage calculée [min, max] avec l’espacement ajouté.

_draw()[source]

Génère un graphique interactif des ressources utilisées pendant les tests et l’enregistre.

save(filename: str, full_html: bool = False)[source]

Sauvegarde les données de monitoring dans un fichier spécifié en fonction de l’extension du fichier.

Cette méthode permet de sauvegarder les informations de monitoring dans différents formats en fonction de l’extension du fichier fourni :

  • .png : Sauvegarde une image de la figure générée par la méthode draw.

  • .html : Sauvegarde la figure au format HTML.

  • .json : Sauvegarde les données au format JSON.

  • Pour d’autres formats, les informations de monitoring seront enregistrées sous forme de texte brut.

Le format texte contient les informations suivantes :

  • Timestamps : Liste des timestamps collectés pendant le monitoring.

  • CPU Usage : Utilisation du CPU.

  • Memory Usage : Utilisation de la mémoire.

  • Disk Usage : Utilisation du disque.

  • Liste des tests : Détails des tests effectués, incluant le fichier, le test et le timestamp.

Paramètres:
  • filename – Le chemin et nom du fichier dans lequel les données de monitoring seront enregistrées. Le format de sauvegarde sera déterminé en fonction de l’extension du fichier (ex. .png, .html, .json).

  • full_html – Option pour l’enregistrement html permettant de ne sauver que le div

tostring() str[source]

Retourne une représentation textuelle des données de monitoring.

Renvoie:

Chaîne décrivant les données de monitoring.