dimanche 23 décembre 2012

Graph et stats




        Après avoir utilisé COSM (remplaçant de Pachube) pendant plusieurs mois, je constate qu'il devient extremement long de remonter la moindre mesure, générant d'ailleurs pas mal de freeze réseau sur mon système (+ de 400 requests HTTP en wait = carte réseau saturée).

         J'ai donc changé mon fusil d'épaule et décidé de stocker et de générer mes propres statistiques sur mes unités, médiators ou manager. J'ai donc implémenté une méthode respectivement dans AbstractUnit, AbstractManager et AbstractMediator, permettant de stocker une valeur à la sauce clé=valeur avec gestion de purge intégrée.


          C'était la partie la plus simple, reste maintenant à générer un graphique et là il existe des milliers de façons de faire, je suis donc tombé sur une librairie javascript permettant d'afficher élégamment les graphs et surtout de comprimer les zones de temps (look d'outils de traders).


          J'ai donc choisi d'implémenter une action struts (StatsAction) qui prends en paramètres les unités à afficher sur le graph, bref une simplicité, l'action étant chargée de générer l'html (full). On aura donc ce genre de requête HTTP 


          Cette requête produit le graph suivant (que l'on peut incorporer dans n'importe quelle iframe). On voit ici en jaune la température salon, bleu piscine, et vert les on-off d'un relai de l'IPX800.






       Il y a bien évidemment une foultitude d'options (thème, remplissages, ...)