Un petit post pour vous faire part d’un mini-tutoriel sur comment analyser les performances d’une application mobile Windows Mobile (basé sur Windows CE).

Vous trouverez, donc,  ci-dessous les outils disponibles pour l’analyse des performances sur une application .NET Compact Framework 2.0 SP1 ou supérieure (3.5 notamment).

Deux moyens sont disponibles pour la gestion des performances :

  • Génération automatique des statistiques (via un fichier avec l’extension .stat) ,
  • Utilisation de l’outil du .NET Compact Framework 2.0 : Remote Performance Monitor,
  • Un mode artisanal pour la mémoire,  à la main :)

Faisons tout d’abord un petit tour des applications remote existante pour accéder aux différentes ressources de votre Mobile :

Les outils de remote :

  • Remote registry Editor : Accès à la base de registre du mobile pour y effectuer des modifications,
  • Remote Process Viewer : Accès aux process en cours d’exécution,
  • Remote File viewer : Accès au file system du pocket,
  • Remote Performance monitor :  Exécution d’une application à distance et analyse des performances de cette dernière.

Tutoriel sur l’analyse des performances via un fichier (.stat):

  • Etape 1 : Copier les fichiers suivants ( accessible ici : C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE\wce500\ )  dans le répertoire “\Windows” du mobile (Attention : Ces fichiers sont à destination d’un processeur donné ARM, SH etc…) :
    1. NetcfLaunch.exe,
    2. Netcfrtl.dll.
  • Etape 2 : Déverrouiller ou créer la clé suivante, avec la valeur 1, dans la base de registre du mobile HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETCompactFramework\PerfMonitor,
  • Etape 3 : Exécuter votre application,
  • Etape 4 : Un fichier (*.stat) est automatiquement généré. Ce dernier peut être importé dans Excel ou lu via le Remote Performance Monitor.

Tutoriel sur l’analyse des performances via le Remote Performance Tools :

  • Etape 1 : Sur mon poste de travail il se trouve ici : « C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\bin », le lancer,
  • Etape 2 : Copier les fichiers suivants ( accessible ici : C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE\wce500\ )  dans le répertoire “\Windows” du mobile (Attention : Ces fichiers sont à destination d’un processeur donné ARM, SH etc…) :
    1. NetcfLaunch.exe,
    2. Netcfrtl.dll.
  • Etape 3 : Exécuter le fichier NetcfLaunch.Exe,
  • Etape 4 : Choisissez «File\ Live counters » dans l’outil de perf,
  • Etape 5 : Il faut saisir ou choisir le mobile connecté (via ActiveSync ou, une adresse IP et un port, fourni en exécutant NetcfLaunch.exe),
  • Etape 6 : Saisissez l’application à analyser et les paramètres éventuelles puis cliquez sur « connect » en bas de l’écran comme ci-dessous:clip_image002

Les informations de performance apparaissent sur l’écran.

Artisanat :

Analyse de la mémoire dans le code : GC.GetTotalMemory() est votre ami pour analyser la mémoire managée utilisée par votre application.

Pour aller plus loin :

http://msdn2.microsoft.com/en-us/library/ms172524.aspx : Performance et diagnostic avec les Pocket PC

http://msdn2.microsoft.com/en-us/library/ms404355(VS.80).aspx : Utilisation du Remote Performance Monitor

http://blogs.msdn.com/davidklinems/archive/2005/12/09/502125.aspx : Détail les compteurs de performance accessible par les outils précédent.

N’hésitez pas à me faire part de vos remarques :o)

Musa.