Les outils de diagnostic
L'inspecteur d'autorisations
Cet outil vérifie si un utilisateur a le droit de faire une action. Il est réservé au rôle Gestionnaire système. Ouvrez l'Inspecteur d'autorisations depuis la recherche (Ctrl+K).
Renseignez le Type de document, le Document (facultatif), l'Utilisateur et le Type d'autorisation (par défaut « Lire »). Le cadre Résultat affiche les rôles de l'utilisateur, les autorisations issues de ces rôles, l'effet des autorisations utilisateur, puis le résultat final, par exemple « L'utilisateur … n'a pas accès à ce document ».

Exemple fictif : un commercial ne peut pas ouvrir la facture ACC-SINV-2026-00042. Choisissez Type de document « Facture de vente », Document ACC-SINV-2026-00042, Utilisateur le commercial, Type d'autorisation « Lire ». Le Résultat montre qu'une autorisation utilisateur limite ses accès à une autre société.
Les messages d'erreur
En cas de refus, lisez le message affiché. Il indique en général le type de document et le droit qui manque. Les erreurs serveur sont aussi gardées dans le journal des erreurs.
L'enregistreur
L'Enregistreur (Recorder) suit les requêtes web et les tâches de fond exécutées sur le site. Il note aussi les requêtes SQL et les méthodes du cycle de vie des documents. Il sert à trouver les étapes lentes d'une action.
Seul le compte Administrator peut l'utiliser. Les autres utilisateurs, même avec le rôle Gestionnaire système, reçoivent le message « Seul l'Administrateur est autorisé à utiliser l'Enregistreur ».
Démarrer un enregistrement
- Ouvrez l'Enregistreur depuis la recherche (
Ctrl+K). - Cliquez sur Démarrer. La fenêtre Configurer l'enregistreur s'ouvre.
- Choisissez les options (voir le tableau ci-dessous).
- Cliquez sur Commencer à enregistrer. L'indicateur passe à « Actif ».
- Faites l'action à analyser, puis cliquez sur Arrêter.
L'enregistrement s'arrête seul après 10 minutes. Pendant l'enregistrement, la liste se rafraîchit toutes les 5 secondes.
Les options de la fenêtre s'affichent en anglais :
| Option | Effet | Par défaut |
|---|---|---|
| Record Web Requests | Enregistre les requêtes web. | Cochée |
| Request path filter | Enregistre seulement les chemins qui commencent par ce texte, par exemple /api/method/frappe.desk.form.save. Vide : toutes les requêtes. | / |
| Record Background Jobs | Enregistre les tâches de fond. | Cochée |
| Background Jobs filter | Enregistre seulement les tâches dont le nom contient ce texte, par exemple email_queue.pull. | Vide |
| Record SQL queries | Enregistre chaque requête SQL. | Cochée |
| Generate EXPLAIN for SQL queries | Ajoute le plan d'exécution de chaque requête. | Cochée |
| Capture callstack of SQL queries | Indique le code qui a lancé chaque requête. | Cochée |
| Capture document lifecycle timeline | Enregistre les méthodes du cycle de vie des documents (validate, on_update, on_submit…), les doc_events et les autres hooks. Voir Analyser les hooks Python dans les performances. | Cochée |
| Run cProfile | Profile le code Python. Ralentit beaucoup le serveur. Décochez Capture callstack of SQL queries avec cette option. | Décochée |
Vous devez enregistrer au moins les requêtes web ou les tâches de fond.
Lire la liste
Chaque ligne de la liste est une requête ou une tâche. Elle montre le Lien (le chemin appelé), la Durée, l'heure, le Nombre de requêtes, le Nombre d'événements et les Applications impliquées.
Ouvrez une ligne pour voir aussi les Requêtes SQL (avec leur durée, leur plan et la pile d'appels), les Indexes suggérés et le Résultat CProfile, si l'option était cochée.
Analyser la chronologie des documents
Ouvrez une requête enregistrée. La section Chronologie liste chaque méthode exécutée, imbriquée selon les appels. Pour chaque ligne :
- Durée (ms) : le temps d'exécution.
- Requêtes : le nombre de requêtes SQL lancées.
- Applications : les applications qui ont déclenché la méthode.
La requête indique aussi le Nombre de requêtes, la Durée des requêtes, le Nombre d'événements et les Applications impliquées.
Exemple fictif : la validation d'une facture client prend 8 secondes.
- Démarrez l'enregistreur avec l'option Capture document lifecycle timeline.
- Validez une facture du client Maison Verte SARL.
- Arrêtez l'enregistreur et ouvrez la requête de validation.
- Dans la Chronologie, cherchez la ligne dont la durée est la plus longue. Ses Applications indiquent l'application à corriger.
Gérer les enregistrements
- Réinitialiser supprime tous les enregistrements.
- Exporter (menu) télécharge les enregistrements dans un fichier JSON.
- Importer (menu) charge un fichier exporté. L'import ne se fait que si la liste est vide.