Support des marqueurs de scénarios
La classe Scenario est en téléchargement libre sur le site Web de MSDN Code Gallery. À l'aide de Scenario, vous pouvez marquer les points exacts de début et de fin d'une section de code que vous souhaitez profiler. Le visualiseur concurrentiel affiche ces marqueurs dans la Vue Threads, la Vue Cœurs et la vue Utilisation de l'UC. Pour afficher le nom que vous avez donné au marqueur, placez le pointeur sur sa barre horizontale.
Le visualiseur concurrentiel prend en charge les marqueurs Scenario à la fois dans le code natif et le code managé, en fonction des conditions suivantes :
Les méthodes Scenario.Begin, Scenario.BeginNew et Scenario.End sont prises en charge. Les macros Scenario.Mark et Scenario.Step ne sont pas prises en charge.
Les marqueurs Scenario qui ont un niveau d'imbrication supérieur à zéro ne sont pas pris en charge.
Une instance Scenario active par thread est suivie. Si un événement Scenario.Begin est reçu lorsqu'une instance Scenario est déjà active, le visualiseur concurrentiel remplacera l'ancienne valeur par la nouvelle. Une instance Scenario active sera fermée au premier appel Scenario.End dans le thread, indépendamment de l'instance Scenario dont elle provient.
Pour ajouter des marqueurs de scénario au code
Téléchargez Scenario.zip à partir de la page d'accueil de Scenario (page éventuellement en anglais) sur le site Web de MSDN Code Gallery.
Décompressez le fichier et notez l'emplacement de création du dossier.
Dans votre projet Visual Studio, ajoutez une référence au fichier .dll Scenario natif ou managé approprié. Les versions x86 et x64 sont fournies à la fois pour Visual Studio 2008 et Visual Studio 2010.
En code managé, ajoutez une instruction using ou Imports pour l'espace de noms Scenario.
En code natif, ajoutez le fichier Scenario.h, qui se trouve dans le dossier \native\.
Créez une instance de la classe Scenario sur chaque thread que vous souhaitez marquer. Utilisez le constructeur pour ajouter un nom au marqueur afin qu'il s'affiche dans le visualiseur concurrentiel.
Appelez la méthode Begin à l'emplacement où vous souhaitez placer le marqueur de début.
Appelez la méthode End à l'emplacement où vous souhaitez placer le marqueur de fin.
Exécutez le visualiseur concurrentiel. Les marqueurs doivent s'afficher dans les différentes vues.
Pour plus d'informations sur la classe Scenario, consultez la documentation sur la page d'accueil de Scenario (page éventuellement en anglais).