Greenfox pour Firefox

Description

Compatible avec Firefox 3.6 -> 11.x sous Windows / Linux

Code source disponible sur GitHub : https://github.com/GreenCodeLabGroup/Tool-GreenFox

Téléchargement sur la page dédiée Mozilla

License GPL v3 (http://www.gnu.org/licenses/gpl.html, traduction française ici : http://org.rodage.com/gpl-3.0.fr.html)

L'extension GreenFox pour Firefox, initialement développée dans le cadre du GreenChallenge 2010 de l'Université du SI (USI), a été reprise par l'équipe du Green Code Lab. Cette extension a pour but de mesurer la consommation processeur, en ms, du processus Firefox, dans une période fixée par l'utilisateur.

L'unité de la milliseconde (ms) correspond à la manière qu'a un système informatique de compter le temps d'exécution d'un processus. Pour plus d'informations, voir la page Wikipédia : http://en.wikipedia.org/wiki/Process_time .

Ainsi, GreenFox permet de mesurer entre 2 points le temps CPU consommé. Le fait d'obtenir un chiffrage précis de cette consommation a deux utilités principales :

  1. comparer l'utilisation CPU de différents sites, ou de différentes version d'un même site

  2. traduire cette consommation temporelle (ms) en consommation énergétique (kwh) à l'aide d'un modèle établi, ou via la mesure en parallèle du delta de surconsommation par rapport à une situation au repos (idle).

Utilisation

Après installation, l'extension s'affiche en bas du navigateur :

Son utilisation est ensuite très simple :

  1. Cliquer sur le bouton Start afin de commencer la mesure. L'icône change alors :

  1. Cliquer sur le bouton Stop pour terminer la mesure. L'extension affiche alors la consommation CPU du processus Firefox pendant cette période :

Avertissement

L'extension mesure la consommation de l'intégralité du processus Firefox, extensions y compris. Il est donc recommandé, afin d'obtenir la mesure la plus fiable possible, de l'utiliser sur un Firefox vierge.

De plus, cette extension se borne à la mesure de consommation de la partie client d'un site Web. Si le but est de mesurer la consommation totale d'un site, il faut également mettre en place un système de mesure sur la partie serveur.

Pistes d'amélioration

  • Déclenchement automatique de la mesure et arrêt lorsque la page a fini de se charger

  • Compatibilité Mac

  • Script pour configuration / compilation automatique en fonction de la plate-forme voulue

Détails techniques

Le travail a essentiellement consisté en l'adaptation du code, lui permettant désormais de tourner sur les versions actuelles de Firefox. En effet, depuis la version 4, Firefox utilise le moteur Gecko 2. L'extension initiale a été développée en utilisant les composants XPCOM, qui sont désormais déconseillés et particulièrement durs à utiliser dans Gecko 2 (https://developer.mozilla.org/en/XPCOM/XPCOM_changes_in_Gecko_2.0 ). Sans rentrer dans les détails, la mise en place d'un environnement de développement et la construction pour chaque version différente de Firefox rend l'utilisation de composants XPCOM pénible. Ce post explique plus en détail pourquoi les composants XPCOM sont amenés à disparaître : http://adblockplus.org/blog/binary-xpcom-components-are-dead-js-ctypes-is-the-way-to-go .

Cette nouvelle version de GreenFox se base désormais sur js-ctypes. Cette méthode permet de compiler une librairie « ordinaire » (.dll, .so), de l'inclure dans une extension Firefox, et de l'utiliser dynamiquement avec du code Javascript : https://developer.mozilla.org/en/js-ctypes .

Une limitation cependant : l'utilisation de librairies codées en C++ est très limitée.

Technologie: 
Type de projet: 

Ajouter un commentaire