Séance 1 : analyse du chargement d’une page Web

Exercice 4 : Analyse des traces de chargement d’une page Web

Exercice 4 : Analyse des traces de chargement d’une page Web

Nous allons maintenant travailler sur l’analyse du journal HAR obtenu à l’exercice 3 afin de générer des résultats comme illustrés sur la Figure 1.

Dans cet exercice, vous devrez travailler dans le fichier analyse_fichier_HAR.py fourni. C’est un squelette de code effectuant l’ouverture et l’analyse d’un fichier HAR. 

4.1. Fonctionnement du programme

Ce programme opère de la manière suivante :

  • Ouverture du fichier HAR
  • Parcours du fichier HAR (entrée par entrée)
    • Pour chaque échange réseau (entrée) : calcul des informations suivantes : hostname, TLD, domaine de second niveau, taille de la requête et de la réponse, code du pays
  • Agrégation des données de tous les échanges et affichage des résultats sous forme de graphes.

Le squelette contient des éléments que vous n’avez pas à modifier :

  • Une fonction plot_data effectuant la génération des graphes.
  • Une boucle parcourant le journal HAR, entrée par entrée, et stockant les données dans une liste.

La fonction analyse_entry(entry) est en charge d’analyser chaque échange représenté par la variable entry. Votre travail consiste à compléter cette fonction afin de récupérer et/ou calculer les valeurs suivantes :

  • hostname
  • TLD (Top Level Domain)
  • domaine de second niveau
  • tailles de la requête et de la réponse
  • code du pays où est situé le serveur

Il est fortement recommandé de vous inspirer de l’exercice de prise en main pour répondre aux questions de cet exercice.

4.2. Travail à faire (dans analyse_entry)

(a) A l’aide d’un copier-coller, intégrez dans ce fichier les fonctions que vous venez d’écrire dans le cadre de l’exercice 3.

(b) Écrivez le code qui récupère la valeur de hostname.

(c) À partir du hostname, calculez le TLD et le domaine de second niveau.

(d) Écrivez le code qui permet d’obtenir la taille de la requête et la taille de la réponse (attribut bodySize).

(e) Écrivez le code qui permet d’obtenir le code du pays dans lequel est situé le serveur (identifié par l’adresse IP).

(f) Exécutez votre code et vérifiez qu’il génère bien les graphes.