Les outils diagnostic

Le Recorder – Suivi des requêtes et événements

Suivez et analysez les requêtes, les événements du cycle de vie des documents et les performances dans Dokos.

Le Recorder – Suivi des requêtes et événements

Le Recorder est un outil de diagnostic avancé qui permet aux administrateurs de suivre et d'analyser les requêtes, les événements du cycle de vie des documents, ainsi que les performances des scripts et webhooks exécutés sur le serveur. Il est particulièrement utile pour déboguer des comportements complexes ou optimiser les performances.

Activer le Recorder

  1. Accédez au Recorder via la barre de recherche.
  2. Cliquez sur Configurer le Recorder.
  3. Activez les options souhaitées :
    • Enregistrer les requêtes : Capture toutes les requêtes exécutées.
    • Capturer la chronologie du cycle de vie des documents : Enregistre les événements liés aux documents (ex : on_update, before_insert).
  4. Cliquez sur Démarrer l'enregistrement.

Analyser les requêtes

Le Recorder affiche une liste des requêtes enregistrées avec les détails suivants :

  • Durée : Temps d'exécution de la requête.
  • Nombre de requêtes SQL : Nombre de requêtes SQL exécutées.
  • Apps impliquées : Applications (Dokos, ERPNext, etc.) ayant contribué à la requête.
  • Événements : Nombre d'événements du cycle de vie des documents capturés.

Pour analyser une requête spécifique :

  1. Cliquez sur une entrée dans la liste.
  2. Consultez les détails, y compris la chronologie des événements.

Chronologie du cycle de vie des documents

La nouvelle fonctionnalité Capture du cycle de vie des documents permet de visualiser les événements déclenchés lors des opérations sur un document (ex : création, mise à jour, suppression). Chaque événement est attribué à l'application qui l'a déclenché (ex : Dokos, ERPNext).

Exemple d'utilisation

  1. Scénario : Un utilisateur met à jour un Bon de commande.
  2. Résultat : Le Recorder capture les événements suivants :
    • before_save (Dokos)
    • validate (ERPNext)
    • on_update (Dokos)
    • after_save (ERPNext)
  3. Analyse :
    • Vérifiez l'ordre des événements pour identifier des comportements inattendus.
    • Identifiez les applications responsables de chaque étape.
    • Optimisez les scripts ou webhooks si des événements prennent trop de temps.

Filtrer les résultats

Utilisez les filtres pour affiner votre analyse :

  • Durée minimale : Affiche uniquement les requêtes dépassant un certain temps.
  • Nombre d'événements : Filtre les requêtes avec un nombre spécifique d'événements.
  • Apps impliquées : Sélectionnez une ou plusieurs applications pour cibler les requêtes.

Bonnes pratiques

  • Activer temporairement : Le Recorder peut impacter les performances. Activez-le uniquement pour le débogage.
  • Cibler des actions spécifiques : Limitez l'enregistrement à des opérations critiques pour éviter une surcharge de données.
  • Analyser les goulots d'étranglement : Utilisez les données de durée et de requêtes SQL pour identifier les scripts ou webhooks à optimiser.

Exemple concret : Déboguer un retard de traitement

Problème : Un utilisateur signale que la création d'un Client prend plusieurs secondes.

Solution :

  1. Activez le Recorder avec l'option Capturer la chronologie du cycle de vie des documents.
  2. Créez un nouveau Client (ex : "Maison Verte SARL").
  3. Consultez le Recorder pour identifier les événements déclenchés.
  4. Analysez la durée de chaque événement et les applications impliquées.
  5. Identifiez un script personnalisé dans l'application "Gestion des Clients" qui ralentit le processus.
  6. Optimisez ou désactivez le script pour résoudre le problème.

Limitations

  • Accès restreint : Seuls les administrateurs peuvent utiliser le Recorder.
  • Impact sur les performances : L'enregistrement peut ralentir le serveur. Utilisez-le avec précaution en production.
  • Données temporaires : Les enregistrements ne sont pas persistants après un redémarrage du serveur.