1 / 16

Profiler OpenEdge

Profiler OpenEdge. 13 décembre 2007 Hugues Aubuchon. Méthodes classiques. Messages / traces Time / etime Compile xref (table scan, utilisation des index) Méthode forêt boréale Déni (C’est la faute au DBA). Profiler Openedge. Introduit en V9 Mécanisme interne Objet Profiler

Thomas
Télécharger la présentation

Profiler OpenEdge

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Profiler OpenEdge 13 décembre 2007 Hugues Aubuchon

  2. Méthodes classiques • Messages / traces • Time / etime • Compile xref (table scan, utilisation des index) • Méthode forêt boréale • Déni (C’est la faute au DBA)

  3. Profiler Openedge • Introduit en V9 • Mécanisme interne • Objet Profiler • Outil de contrôle • Utilitaire Progress pour simplifier • Non supporté par Progress • Télécharger sur psdn • Comporte des bugs

  4. Profilage d’une session Progress • Paramètres de départ -profile « nom du .pf qui contient les options suivantes » -COVERAGE -DESCRIPTION "Profiler AS“ -FILENAME "D:\OpenEdge\WRK\prof.out” -LISTINGS "D:\OpenEdge\WRK“ • Objet Profiler PROFILER:COVERAGE = no. PROFILER:DESCRIPTION = "Profiler AS“ PROFILER:FILENAME = "D:\OpenEdge\WRK\prof.out” PROFILER:LISTINGS = "D:\OpenEdge\WRK“ PROFILER:ENABLED = yes. PROFILER:PROFILING = yes.

  5. Propriétés et méthodes • Description(description de la session) • Directory (où vont les fichier debug) • Enabled (prêt à profiler – initialise les tables internes) • Profiling (trace active ou non) • Coverage(liste les lignes exécutables par procédure) • Listing (génère les listings de debug) • File-name(nom et chemin du fichier d’analyse) • Trace-filter(filtrer des « patterns ») • Tracing(profiler seulement des procédure et lignes) • Write-data() (écrit sur disque le fichier d’analyse)

  6. Fichier d’analyse Description Data Section Format: IntegerVersion Date "Description" SystemTime "Userid” Exemple: 1 12/12/2007 "Essai #1" 19:24:14 "haubuchon«  Module Data Section Format: IntegerModuleID "ModuleName" "DebugListingFile" IntegerCRCVal Exemple: 44 "set-ndinfoeditdesc.p" "" 0 28 "USER-INTERFACE-TRIGGER chgbug.p" "" 0 1 "/usr/rdl/devdbs6/scc-bug.p" "sccbugrun/00a06814.dbg" 42913 Call-tree Data Section Format: CallerIDCallerLinenoCalleeIDCallCount Exemple: 0 0 17 1 0 0 19 1 22 33 23 9054 22 39 24 9

  7. Fichier d’analyse (suite) Line Summary Section Format: ModuleIDLineNoExecCountActualTimeCumulativeTime. Exemple: 26 291 1 0.001915 0.022753 8 306 66 1.357740 1.387024 50 270 1 0.000473 0.000473 Tracing Data Section Format: ModuleIDLineNoActualTimeStartTime Exemple: 50 270 0.000160 123.000954 53 116 0.000170 1432.789112 2 14 0.000143 0.132210

  8. Fichier d’analyse (suite) Coverage Data Section Format: ModuleID "EntryName" LineCount Exemple: 10 "foobar" 5 325 326 327 328 330 User Data Section Format: WriteTime "UserData”

  9. Outil de contrôle du profiler • Outil non supporté officiellement • Existe depuis version 9 • Répertoire <DLC>\src\profiler • A été réécrit récemment version 10 • Plus simple à utiliser et plus rapide • Pas besoin de base de données • Un seul outil • Sur site psdn (attention bug) • Outil GUI mais fonctionne bien en CHUI

  10. Séance de profilage • Démarrer profiler/profile.w • Régler les paramètres • Démarrer une procédure ou l’application • Arrêter le profilage (ou attendre la fin de la procédure) • Visualiser le résultat • Faire des changement • Recommencer et comparer

  11. Séance de profilage

  12. Séance de profilage

  13. Démo • Profiling simple • Comparaison avant / après

  14. Sujets avancés • Profilage de code en arrière plan ou distant • Appserver avec Dynamics • profiler/profgetfile.p • profiler/profileronoff.p • Appserver sans Dynamics • Mécanismes permanents (built-in) • Inclus dans l’application • Menus cachés

  15. Questions

  16. Merci ! JoyeusesFêteetàl’anprochain

More Related