Hands On IncanteR

Vous venez de livrer une application. Vous avez quelques soucis de performance mais fort heureusement les développeurs ont pensé à mettre des logs pour tracer les temps de réponse des appels de services.

Ce hands-on est dérivé de scripts réellement utilisés et collectés sous https://github.com/cfalguiere/Organa. Ce projet a pour but de fournir une boite à outils pour le traitement de fichiers de logs de temps de réponse.

Ce hands-on nécessite leiningen et un éditeur.

Materiel du cours


Si vous avez Git vous pouvez cloner le repository

$ git clone https://github.com/cfalguiere/Hands-On-Incanter/tree/master

Si vous n'avez pas git, vous pouvez aller sur le Repository et utiliser le bouton "Download ZIP" dans la colonne de droite.

Ce dossier contient

Les chemins utilisés dans les instructions supposent que vous avez crée votre projet lein dans ce répertoire.

Prise en main d'IncanteR


Prise en main d'IncanteR

Documentation

Prise en main de Midje


Nous allons utiliser Midje au lieu de Clojure.test.

Prise en main Midje

Documentation

Documentation

Step1 - Première fonction


Pour commencer nous alons écrire le test de la fonction q qui raccourci l'écriture du quantile.

Vous trouverez les instructions dans Première fonction

Step 2 - Lire le log


Le log n'est pas en csv à l'origine. Nous allons écrire quelques fonctions qui lisent et parsent le log dans son format d'origine.

Vous trouverez les instructions dans Lire le log

Step 3 - Calculer les timestamps


Le fichier contient des dates sous forme de chaîne. Dans IncanteR nous avons besoin de timestampss en millisecondes.

Nous allons utilier clj-time qui est un wrapper sur Joda Time

Vous trouverez les instructions dans Calculer les timestamps

Step 4 - Des charts améliorés


Maintenant que nous avons des timestamps nous allons pouvoir afficher des séries chronologiques. Nous allons aussi voir comment configurer les charts.

Vous trouverez les instructions dans Des charts améliorés

Step 5 - Un summary amélioré


La fonction summary d'IncanteR affche un résumé assez basique. Nous allons construire un summary plus adapté à nos besoins.

Vous trouverez les instructions dans Un summary amélioré

Step 6 - Main


Nous allons assembler tout ça pour faire un programme.

Vous trouverez les instructions dans Main