Modifier le fichier

Module de statistiques

Présentation

Le module Statistiques a pour objet de publier des indicateurs afin d'aider au pilotage du produit et des applications déployées. Ces indicateurs transversaux aux différentes fonctionnalités de l'application, permettront de vérifier si un composant est utilisé et comment il l'est. Les données générées par ce module ont pour vocation d'être intégrées dans un système tiers afin de les exploiter (compilation dans le temps, génération de graphiques ...). Ces données doivent être le plus générique possible et ne pas contenir de données personnelles ou trop précises (on mesure qu'un tag est utilisé, pas ce qu'il contient).

Fonctionnalités

Plusieurs indicateurs sont générés :

  • North Star
  • Indicateur d'usage
    • Indicateur de volume : Indicateur statique généré par des requêtes réalisées en base de données (Combien de fiche formations en ligne au mois de mars ?)
    • Indicateur d'action : Indicateur généré par l'écoute en temps réel de certaines méthodes de l'applicatif (Combien d'action de création de fiche formation au mois de mars)
  • Indicateur de performance

Ces données seront extraites dans des fichiers présents par défaut dans le répertoire statistics du storage :

  • Les indicateurs d'usage et North Star sont extraits mensuellement par un traitement planifié dans un fichier horodaté au format jsonl (json ligne à ligne https://jsonlines.org/).
  • L'indicateur de performance est écrit dans un fichier de log (fichier avec rotation)

Cohorte d'utilisateurs

Certains indicateurs indiquent une cohorte d'utilisateurs dans le message généré. Cette cohorte permet d'identifier la typologie d'utilisateur utilisant le produit. Pluisuers cohortes sont identifiées par défaut de la produit :

  • anonyme : Utilisateur non connecté navigant sur l'application.
    • Nom du profil : ANONYMOUS
  • utilisateur connecté : Utilisateur connecté mais n'ayant aucune permission sur l'application.
    • Nom du profil : CONNECTEDUSER
  • contributeur de contenu : Utilisateur ayant des droits sur des fiches (hors fiches de l'extension offre de formation).
    • Nom du profil : CONTENTMANAGER
  • webmaster : Utilisateur avec la permission Webmaster.
    • Nom du profil : WEBMASTER
  • contributeur de site: Utilisateur avec la permission Edition de rubrique (création, modification ou suppression).
    • Nom du profil : SITEMANAGER
  • contributeur de formation : Utilisateur avec la permission de modification sur la fiche formation.
    • Nom du profil : PROGRAMMMANAGER
  • contributeur : Utilisateur avec des permissions sur l'application (sans autorisation sur les fiches).
    • Nom du profil : CONTRIBUTOR

Cette liste de cohortes est extensible et il est possible d'en ajouter pour des extensions ou un besoin spécifique à un projet.

North Star

Indicateur de type action rendant compte de l'utilisation globale du produit. Cet indicateur mesure le taux de rafraîchissement des données visibles d'une application. Cela mesure donc :

  • Le passage en ligne d'une fiche
  • La modification d'une fiche en ligne
  • Le dépublication d'une fiche en ligne

Cet indicateur est disponible par type de fiche et cohorte d'utilisateurs.

Indicateurs d'usage

Chaque composant du produit K-Sup va publier des indicateurs afin de suivre son utilisation. La description de chacun des indicateurs est disponible dans la documentation propre à chaque composant.

Le marqueur HTTP

Présentation

Cet indicateur permet de journaliser tout ou partie des appels HTTP.

Il est composé d'un filtre HTTP qui recueille des informations techniques sur l'exécution de la requête HTTP.

Les informations collectées sont :

  1. le temps total passé pour la génération de la page
  2. le temps total passé pour l'exécution des requêtes SQL
  3. le nombre de requêtes SQL exécutées
  4. le temps de la requête SQL la plus longue

Deux marqueurs différents sont implémentés à partir de ce marqueur HTTP.

Le marqueur HTTP de performance

Marqueur technique permettant de signaler les requêtes anormalement longues de l'application. L'écriture dans le journal de statistiques est déclenchée lorsque deux critères sont respectés :

  1. la requête fait partie des requêtes à auditer
  2. le temps total de la requête HTTP dépasse un seuil de déclenchement
  • Le seuil de déclenchement est porté par la propriété statistics.http.duration.threshold (cf core-statistics.properties). La valeur -1 permet de désactiver le seuil
  • Le filtrage des requêtes est réalisé par un ensemble de filtre (cf com/kosmos/statistics/marker/http/requestfilter) permettant de ne traiter que les URLs des contenus (pages et médias).
    • Un filtre d'exclusion de type "l'URI commence par".
      Par défaut, le filtre refuse les URL commençant par "/static/,/jsp/styles/,/jsp/images/,/jsp/scripts/"
      La propriété statistics.performance.exclude.uri.start.with permet de surcharger le comportement par défaut.
    • Un filtre d'exclusion de type "l'URI NE finit PAS par".
      Par défaut, le filtre refuse les URL finissant par ".js,.css.map,.css,.ttf,.woff,.json,.png"
      La propriété statistics.performance.exclude.uri.end.with permet de surcharger le comportement par défaut.

Les filtres par défaut sont définis dans le fichier core-statistics-http.xml.

Le marqueur HTTP d'usage

Marqueur fonctionnel permettant de tracer certaines URL de l'application. L'écriture dans la table des évènements est déclenchée si l'URL courante correspond à certains motifs prédéfinis:

  • Le filtrage des requêtes est réalisé par un ensemble de filtre (cf com/kosmos/statistics/marker/http/requestfilter) permettant de ne traiter que les URLs des contenus (pages et médias). Les différents filtres sont spécifiques à chaque indicateur.

Les différentes extensions peuvent pousser leurs propres filtres à l'aide d'un bean "ListToAddBean"