1 / 19

Instrumentez !

Instrumentez !. Introduction. Instrumentation, by Wikipedia En sciences , l’ instrumentation est une technique de mise en œuvre d'appareils de mesures, d' actionneurs , de capteurs , de contrôleurs en vue de créer un système d'acquisition de données ou de commande .

barton
Download Presentation

Instrumentez !

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. Instrumentez !

  2. Introduction • Instrumentation, by Wikipedia • En sciences, l’instrumentation est une technique de mise en œuvre d'appareils de mesures, d'actionneurs, de capteurs, de contrôleurs en vue de créer un système d'acquisition de données ou de commande. • En informatique ? « the ability to monitor a product's performance and to diagnose errors. » • Et pour nous ?

  3. Quelques buts de conception • Pour les développeurs • Une technique de débogage parmi d’autres • Une aide au profiling • Pour les administrateurs • Suivi d’activité de la plateforme • Recensement des composants installés • Rétroaction en cas de dysfonctionnement • Pour les utilisateurs • Suivi de l’activité métier

  4. Business process management Reporting MANAGEMENT Supervision Support N1 Diagnostic HELP DESK Monitoring Applicatif PRODUCTION Sécurité ARCHITECTURE DEVELOPPEMENT MAINTENANCE Capacity planning Support N2 Maintenance évolutions & debug Optimisation & tuning

  5. Quelques problèmes • Que faut-il mesurer ? • Où faut-il envoyer l’information collectée ? • Quels sont les pièges classiques à éviter ? • Comment instrumenter un système réparti ? • Quels sont les frameworks disponibles ?

  6. Que faut-il mesurer ? • Les grandes familles de mesures • Par vous, pour vous • Par vous, pour l’administrateur • Par vous ou l’administrateur, pour l’utilisateur • Quelques grands principes • Le principe de Heisenberg • Pas de nouvelles, bonnes nouvelles • L’utilisateur n’est pas là pour déboguer votre code • Vous n’êtes pas seul au monde – votre appli non plus

  7. Déboguer / Auditer / Appréhender • Déboguer • Comprendre les dysfonctionnements de l’application • Tâche du développeur • Vue post-mortem • Auditer • Comprendre le fonctionnement de l’application dans son déroulement normal • Tâche de l’administrateur • Vue instantanée et vue historisée • Monitoring métier • Comprendre le reste du monde à travers des informations applicatives • Tâche de l’utilisateur • Vue répartie sur N systèmes, souvent appelé BAM

  8. Quelques pièges – « Debug » • En .Net, être en mode debug peut signifier • Demander au compilateur de fonctionner dans un mode spécifique, et d’extraire plus d’informations que d’habitude lors de la compilation OU • Activer un symbole lors de la compilation, sans forcément effectuer les opérations ci-dessus (par exemple pour effectuer de la compilation conditionnelle)

  9. Démo – premiers pas • Génération ou non de la Pdb • Utilisation des symboles • Compilation conditionnelle • Les symboles DEBUG et TRACE • Les méthodes associées

  10. OK, on peut le faire à la main • .. Mais il va nous rester un tas de choses à régler • Où envoyer les infos ? • Comment rendre paramétrable ? • Est-ce que mon implémentation est compatible avec celle du voisin ? • Est-ce que je vais survivre aux évolutions du frameworl .Net • On se tourne la plupart du temps vers des frameworks pour les logs et l’instrumentation

  11. Les frameworks de log / instrumentation • Historiquement deux grands Frameworks • Log4Net • Portage de Log4j • Réintégré dans la fondation Apache depuis sa dernière version (1.2.10) • EntLib • Successeur de EIF (Enterprise Instrumentation Framework)

  12. Demos • EntLib – pas à pas d’instrumentation • Log4Net – mise en œuvre

  13. Quel framework employer ? • Quels sont vos critères ? • Richesse des appenders • Intégration à la plateforme • Performance • Simplicité d’installation • Périmètre couvert par le framework • Quelles version de .Net couvrez-vous • Devez-vous instrumenter une application ou un système réparti ?

  14. Enterprise Library Data Access Logging Caching Core Plug-in Config Helpers & Design Instrumen-tation Cryptography ObjectBuilder Exception Handling Security Optional ProviderDependency Block Dependency

  15. InstrumentationEvent-Driven Architecture Event Log Application or Block appel Compteurs de performances Instrumentation Listener Class(es) Instrumentation Provider Class(es) event WMI injecte Configuration de l’instrumentation ObjectBuilder

  16. Logging Application Block Data Access Logging Caching Core Plug-in Config Helpers & Design Instrumen-tation Cryptography ObjectBuilder Exception Handling Security Optional ProviderDependency Block Dependency

  17. EntLib • Un lointain descendant des Application Blocks • Enterprise Instrumentation Framework – 2003 • EntLib pour .Net 1.1 – juin 2005 • EntLib pour .Net 2 – Janvier 2006 • EntLib 3 (.Net 2 et 3) – Avril 2007 • EntLib 3.1 – Mai 2007 • Grandes forces • Périmètre • WMI

  18. Log4Net • Un lointain cousin de Log4J • Initialement portage direct • Log4Net : évolutions pour .Net natif • Apache foundation Log4Net • Grandes forces • Simplicité de mise en œuvre • Multi plateformes

  19. Webographie • Instrumentation et WCF • http://www.microsoft.com/france/vision/WebcastMsdn.aspx?EID=87bcba47-6824-4e7c-aa29-d786536a100f • Instrumentation et proxies dynamiqueshttp://www.dotnetguru.org/articles/dossiers/instrumentation/proxiesdynamiques.htm • Instrumentation en .Net : workshopshttp://www.grimes.demon.co.uk/workshops/instrumentationWS.htm • La gestion des assertions en code managéhttp://msdn2.microsoft.com/en-us/library/ttcc4x86.aspx • Articles MSDN sur l’instrumentationhttp://msdn2.microsoft.com/en-us/library/zs6s4h68.aspx • Introduction en français à EntLib (2005)http://www.dotnetguru.org/articles/dossiers/entlib1/FrameworkEnterpriseLibrary_1.htm • Home page de Log4Nethttp://logging.apache.org/log4net/ • Home page de EntLibhttp://www.codeplex.com/entlib

More Related