Gestionnaire de Statistiques
Le module StatsManager
collecte, analyse et présente les statistiques d’exécution du pipeline de traitement.
Usage
StatsManager
est utilisé à la fin du pipeline pour générer un résumé des performances et des résultats du traitement.
Fonctionnalités
Extrait les indicateurs clés depuis la base de données via des requêtes SQL.
Structure les statistiques par section (URLs, Markdown, LLM, Comparaisons, Global).
Fournit des méthodes pour afficher les statistiques dans les logs ou les formater pour une API.
Calcule des métriques de performance (taux de réussite, temps de traitement, etc.).
Modules
Gestionnaire de statistiques basé sur les requêtes SQL. Refactorisation avec libellés et unités pour un affichage flexible.
- class src.smart_watch.core.StatsManager.StatItem(value: Any, label: str, unit: str = '', format_str: str = '{}')[source]
Bases :
object
Représente un élément de statistique avec sa valeur, son libellé et son unité.
- class src.smart_watch.core.StatsManager.StatsSection(title: str, items: Dict[str, StatItem])[source]
Bases :
object
Représente une section de statistiques.
- __init__(title: str, items: Dict[str, StatItem])[source]
Initialise une section de statistiques. :param title: le titre de la section. :type title: str :param items: les éléments de statistique dans la section. :type items: Dict[str, StatItem]
- class src.smart_watch.core.StatsManager.StatsManager(config: ConfigManager, logger)[source]
Bases :
object
Gestionnaire de statistiques basé sur les requêtes SQL.
- __init__(config: ConfigManager, logger)[source]
Initialise le gestionnaire de statistiques. :param config: instance de gestionnaire de configuration. :type config: ConfigManager :param logger: instance de logger pour les messages.
- get_pipeline_stats() Dict[str, StatsSection] [source]
Génère les statistiques du pipeline avec libellés et unités.
- Renvoie:
dictionnaire des sections de statistiques.
- Type renvoyé:
Dict[str, StatsSection]
- _get_header_stats() StatsSection [source]
Crée une section de statistiques pour l’en-tête de l’exécution.
- Renvoie:
- Un objet StatsSection contenant :
L’ID d’exécution (“global”).
L’horodatage actuel de la génération des statistiques.
- Type renvoyé:
- _get_url_stats() StatsSection [source]
Calcule et retourne les statistiques sur le traitement des URLs.
- Renvoie:
- Un objet StatsSection contenant les statistiques suivantes :
Le nombre total d’URLs traitées.
Le nombre de succès et d’échecs.
Le taux de réussite.
La taille moyenne du contenu.
Le nombre d’erreurs HTTP et de timeouts.
- Type renvoyé:
- _get_markdown_stats() StatsSection [source]
Calcule et retourne les statistiques sur le traitement des fichiers Markdown.
- Renvoie:
- Un objet StatsSection contenant les statistiques suivantes :
Le nombre de documents traités, nettoyés et filtrés.
La taille moyenne du contenu après filtrage.
Le nombre total de caractères supprimés pendant le nettoyage.
- Type renvoyé:
- _get_llm_stats() StatsSection [source]
Calcule et retourne les statistiques sur les extractions faites par le LLM.
- Renvoie:
- Un objet StatsSection contenant les statistiques suivantes :
Le nombre d’extractions tentées, réussies (JSON et OSM), et échouées.
Le taux de réussite.
La taille moyenne des horaires extraits.
Les émissions totales de CO2.
- Type renvoyé:
- _get_comparison_stats() StatsSection [source]
Calcule et retourne les statistiques sur la comparaison des horaires.
- Renvoie:
- Un objet StatsSection contenant les statistiques suivantes :
Le nombre total de comparaisons.
Le nombre d’horaires identiques ou différents.
Le nombre de cas non comparés.
Le taux de précision global.
- Type renvoyé:
- _get_global_stats() StatsSection [source]
Calcule et retourne les statistiques globales sur l’ensemble de l’exécution.
- Renvoie:
- Un objet StatsSection contenant les informations récapitulatives suivantes :
L’ID d’exécution.
Le nombre total d’enregistrements.
Le nombre d’enregistrements avec erreurs.
La date d’exécution.
Le modèle et le fournisseur LLM utilisés.
Les émissions totales de CO2 pour l’ensemble du processus.
- Type renvoyé:
- generate_custom_text(template: str) str [source]
Génère un texte personnalisé en remplaçant les variables dans le template. :param template: le template avec des variables au format {section.item}. :type template: str
- Renvoie:
le texte généré avec les variables remplacées par les valeurs des statistiques.
- Type renvoyé: