Dbogage ASP'NET niveau 300 - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

Dbogage ASP'NET niveau 300

Description:

Pr sentation de l'outillage standard d'ASP.NET 2.0 et de Visual ... Fonctions et Appelant/Appel s. Pile des appels. Exportation XML. Profiling : la ligne de ... – PowerPoint PPT presentation

Number of Views:84
Avg rating:3.0/5.0
Slides: 42
Provided by: mitsuru
Category:

less

Transcript and Presenter's Notes

Title: Dbogage ASP'NET niveau 300


1
Débogage ASP.NET (niveau 300)
2
Débogage ASP.NET (niveau 300)
  • Présentation de loutillage standard dASP.NET
    2.0 et de Visual Studio Team System
  • Health Monitoring
  • Profiling
  • Tests de charge
  • Gestion des anomalies dans TFS
  • Pause
  • Débogage dapplications ASP.NET en production
  • Préambule
  • Outils pour la capture et lanalyse
  • Présentation de WinDbg et SOS
  • IIS et CLR
  • Commande SOS
  • Exemple de problématiques

3
Débogage ASP.NET (niveau 300)Présentation de
loutillage standard dASP.NET 2.0 et de Visual
Studio Team System
  • Daniel TIZON
  • Resp. du pôle Génie Logiciel /Team System -
    Winwise
  • daniel.tizon_at_winwise.fr - http//blogs.developpeur
    .org/daniel

4
Introduction
  • Avec les outils inclus dans ASP.NET et Team
    System
  • Vous disposez doutils utiles pour éviter de
    traiter les problèmes en production
  • Ils sont à votre disposition mais souvent
    méconnus des développeurs

5
Agenda
  • Health Monitoring
  • Profiling
  • Tests de charge
  • Gestion des anomalies dans TFS

6
Health Monitoring
  • DASP.NET 2.0
  •  Comment surveiller les signes vitaux des
    applications en production 

7
Health Monitoring
  • Un mécanisme standard dASP.NET2.0
  • Gère les événements importants dans la vie de
    lapplication
  • Lapplication démarre ou sarrête
  • Compilations
  • Etat du processus
  • Evénements derreur
  • Erreurs de requêtes exception non gérées, etc
  • Erreurs de configuration compilation, parser,
  • Extensible

8
Health Monitoring Hiérarchie des types
dévénements
9
Health Monitoring WebBaseEvent
  • Contient des informations communes
  • Des types plus spécialisés
  • Pile des appels, adresse du client, informations
    de thread/process, information de requête

public class WebBaseEvent //
properties public DateTime EventTime public
string Message public object EventSource publi
c long EventSequence public int
EventCode public int EventDetailCode //
methods static public void Raise(WebBaseEvent
eventRaised)
10
Health Monitoring Configuration
  • Dans le Web.config du serveur
  • Dans le Web.config de lapplication
  • Section lthealthMonitoringgt
  • lteventMappingsgt ? événements gérés
  • ltprovidersgt ? destinataires enregistrés
  • ltrulesgt ? mappage événements/destinataires
  • ltprofilesgt ? paramètres des événements
  • ltbufferModesgt ? paramètres des destinataires

11
Health Monitoring Destinataires dévénements
  • Sappuie sur le modèles de providers
  • Providers disponibles
  • EventLogWebEventProvider
  • BufferedWebEventProvider
  • MailWebEventProvider
  • SimpleMailWebEventProvider
  • SqlWebEventProvider
  • TemplatedMailWebEventProvder
  • TraceWebEventProvider
  • WMIWebEventProvider
  • Extensible

12
Health Monitoring Filtrage des événements
  • Filtrage par hiérarchie de type
  • Exemple capturer toutes les erreurs ou
    uniquement les erreurs de configuration
  • Les types peuvent être mappés à plusieurs
    fournisseurs
  • Exemple
  • Toutes les erreurs ? Event Log
  • Erreurs de configuration ? Email

13
Health Monitoring Contraintes sur les événements
  • Par palier
  • Ex 1 par minute
  • Par seuils
  • Minima/Maxima
  • Ex seulement 10 premières occurrences
  • Ex seulement à partir de la 10ième occurrence

14
Demo
  • Health Monitoring

15
Le Profiling
  • Dans Visual Studio 2005for Team Developers
  •  Identification des portions de codes à
    optimiser (mémore/perf) 

16
Le Profiling
  • Intégré à Visual Studio 2005 for Team Developers
  • Rassemble les informations sur les temps
    dexécution et performances
  • Méthodes qui prennent le plus de temps
  • Consomment le plus de mémoire
  • Les plus appelées
  • Deux méthodes de mesure
  • Sampling ponctionne des informations à
    intervalles réguliers sur ce qui est exécuté
  • Instrumentation enregistre tous les appels

17
Le Profiling
  • Code managé v2.0
  • Tout type de cible
  • Exécutables
  • Bibliothèques de classes
  • Applications Web ASP.NET
  • Services Windows
  • VS na pas besoin dêtre lancé
  • Permet de rapidement maximiser les gains de
    performance
  • Profiling sur les tests Unitaires également

18
Profiling Sampling ou Instrumentation
  • Le Sampling a moins dimpact sur lexécution
  • Analyse de la pile
  • Non intrusive
  • Des méthodes peuvent être manquées
  • Linstrumentation insère du code entre les
    méthodes
  • Résultats précis
  • Coûteux sur lexécution

19
Profiling Sampling
  • Analyse sans modification de lapplication

main 3
AMethod 6
BMethod 9
2
20
Profiling Intrumentation
  • Injection de code

main 001 AMethod 0023 BMethod 0098
21
Profiling depuis Visual Studio 2005
  • Via le menu Tools/Performances Tools
  • Performance Wizard
  • Choix de lapplication à profiler
  • Projet de la soluton courante
  • Exécutable (.exe),
  • Librairie (.dll),
  • Application ASP.NET.
  • Choix de la méthode
  • Sampling,
  • Instrumentation
  • Performance Explorer
  • Configuration, exécution
  • Analyse et stockage des résultats
  • Résumé
  • Fonctions et Appelant/Appelés
  • Pile des appels
  • Exportation XML

22
Profiling à la ligne de commande
  • En mode instrumentation
  • VSPerfCLREnv /traceon
  • VSInstr ltbinairegt
  • VSPerfCmd /starttrace /outputltfichier de
    sortiegt.VSP
  • Exécuter lapplication
  • VSPerfCmd /shutdown
  • En mode Sampling
  • VSPerfCLREnv /sampleon
  • VSPerfCmd /startsample / outputltfichier de
    sortiegt.VSP
  • VSPerfCmd /launchltbinairegt /argsltargumentsgt
  • Intéragir avec lapplication et sortir
  • VSPerfCmd /shutdown
  • En sattachant à un processus en mode Sampling
  • VSPerfCLREnv /sampleon
  • Démarrer lapplication
  • VSPerfCmd /startsample / outputltfichier de
    sortiegt.VSP
  • VSPerfCmd /attachltPIDgt
  • Intéragir avec lapplication et sortir
  • VSPerfCmd /detachltPIDgt

23
Demo
  • Profiling

24
Les Tests de charge
  • Dans Visual Studio 2005for Team Testers
  •  un moyen de détecter des problèmes
    habituellement remontés quen production 

25
Tests de Charge
  • Intégré à Visual Studio 2005 for Team Testers
  • Charge constante ou progressive
  • Applications Web ou tests unitaires
  • Récolte des données sur les performances
  • De lapplication
  • Des serveurs concernés
  • Génère des rapports
  • Possibilité dajouter un contrôleur et agents
    externes

26
Tests de Charge Types de charge supportés
  • Charge fixe
  • Nombre fixe dutilisateurs,
  • Permet de vérifier que lapplication tient
  • Charge progressive
  • Le nombre dutilisateurs varie,
  • À partir dune valeur minimale,
  • Par paliers,
  • Jusquà une valeur limite
  • Permet de déterminer les limites de lapplication

27
Tests de Charge Sur des Tests Web
  • Créer des test web
  • Enregistrer le scénario de navigation dans IE
  • Scripter/modifier lenregistrement
  • Possibilités de databinding
  • Définir la répartition
  • selon les types de navigateurs
  • Le(s) type(s) de connexion utilisé(s)
  • Les tests sélectionnés (scénarios différents)
  • Exemple
  • 10 de Firefox, 5 de smartphone, 85 IE6.0
  • 90 ADSL, 10 de modem 56k
  • 90 daffichage de la page daccueil, 10
    création commande

28
Tests de Charge Procédure pas à pas
  • Créer un projet de type Tests
  • Créer des tests Web et/ou Unitaires
  • Créer un test  Load Test 
  • Sélectionner les tests Web/Unitaires
  • Distribution des dexécution de chacun
  • Choisir le type de charge
  • Sélectionner les compteurs de performance

29
Tests de Charge Agents de test
  • VS2005 Team Edition for Software Testers Load
    Agent
  • Produit séparé de Team Suite
  • Permet de simuler plus de charge
  • Env 1000 par processeur
  • Composé de
  • Team Test Load Agent simule les tests
  • Team Test Load Controller pilote les agents

30
Demo
  • Tests de Charge

31
Gestion des anomalies
  • avec
  • Team Foundation Server (TFS)
  •  Remontée des anomalies depuis des applications
    Web en production aux équipes de développement
    dans TFS 

32
Team Foundation ServerUne extension de VS
Team Edition for Testers
Team Edition for Developers
Team ExplorerMicrosoft Project Microsoft Excel
Team Editionfor Architects
Team Foundation Server
Navigateur Web
33
Team Foundation ServerArchitecture
  • Architecture multi-couche
  • Couche données
  • SQL Server 2005
  • Couche applicative
  • WebServices
  • Windows Sharepoint Services
  • Reporting Services
  • Couche cliente
  • Visual Studio 2005
  • MS Office Excel / Project
  • Internet Explorer (via WSS)
  • Team Explorer

34
Team Foundation Server Architecture logique
Office
Visual Studio
Lignes de commande
Plug-in Excel
Plug-in MS Project
IE
Packages
Modèle objet de Team Foundation (API managée)
SOAP/HTTP(S)
WSS (portail projet)
Team Foundation services dintégration
Service denregistrement
Evénements et notifications
Web Parts
Service de liaison
Team Foundation services de données
SQL Reporting services
Gestion des Work Items
Services de compilation
Gestion de sources
Rapports
MSSQL/TCP
Team Foundation couche données
WI (Product Studio)
Données de compilation
Warehouse
SCC
Méthodologies
35
Les Work ItemsDe quoi sagit-il ?
  • Un concept générique pour
  • Créer de linformation
  • La faire évoluer
  • La partager
  • La suivre
  • Basés sur des modèles
  • Données, comportement
  • Définis au niveau Team Project
  • Extensibles

36
Les Work ItemsConcrètement
  • Un Work Item possède
  • Un type
  • Bogue, Tâche, Demande dévolution,
  • Des états
  • Actif, Résolu, Fermé,
  • Motif de passage dun Etat à lautre
  • Nouveau, Fixé, Obsolète, Non reproduit
  • Des champs
  • Titre, Description, Date, Assigné à , Area,
    Itération,
  • Un historique
  • Des pièces jointes
  • Peuvent être liés à
  • Du code, un test, résultat dune compilation, un
    autre Work Item, Un fichier, un lien hypertexte

37
Modèle ObjetTeam Foundation Server
C\Program Files\Microsoft Visual Studio
8\Common7\IDE\PrivateAssemblies
38
Modèle ObjetWork Items
39
Demo
  • Gestion des anomalies dans Team Foundation Server

40
Ressources
  • De manière générale
  • Les starters kits http//www.asp.net/downloads/s
    tarterkits/default.aspx?tabid62
  • Télécharger Visual Web Developer 2005 Express
    Edition http//www.microsoft.com/france/msdn/vst
    udio/express/vwd/default.mspx
  • Le centre de développement ASP .NET sur MSDN
    http//www.microsoft.com/france/msdn/aspnet/defaul
    t.mspx

41
Ressources
  • A propos de lhealth monitoring
  • ASP.NET Health Monitoring http//msdn2.microsoft
    .com/en-gb/library/ms178701.aspx
  • Vue d'ensemble du contrôle d'état ASP.NET
    http//msdn2.microsoft.com/fr-fr/library/ms178703.
    aspx
  • Procédure pas à pas écoute des événements WMI
    lors du contrôle d'état ASP.NET
    http//msdn2.microsoft.com/fr-fr/library/ms178713.
    aspx
  • A propos du Profiling
  • Visual Studio Team System 2005 Performance Tool
    FAQ http//forums.microsoft.com/MSDN/ShowPost.as
    px?PostID339481SiteID1
  • A propos des Tests de Charge
  • Test de charge avec Team System quoi, quand,
    comment ? http//blogs.microsoft.fr/antoined/arc
    hive/2005/12/20/16639.aspx
Write a Comment
User Comments (0)
About PowerShow.com