Kit SDK du visualiseur concurrentielConcurrency Visualizer SDK

Vous pouvez instrumenter votre code source à l’aide du kit SDK du visualiseur concurrentiel pour afficher des informations supplémentaires dans le visualiseur concurrentiel.You can instrument your source code by using the Concurrency Visualizer SDK to display additional information in the Concurrency Visualizer. Vous pouvez associer les données supplémentaires à des phases et à des événements de votre code.You can associate the additional data with phases and events in your code. Ces visualisations supplémentaires sont appelées marqueurs.These additional visualizations are known as markers. Pour obtenir une introduction pas à pas, consultez Introducing the Concurrency Visualizer SDK.For an introductory walkthrough, see Introducing the Concurrency Visualizer SDK.

PropriétésProperties

Les indicateurs, les intervalles et les messages ont deux propriétés : la catégorie et l’importance.Flags, spans, and messages each have two properties: category and importance. Dans la boîte de dialogue Paramètres avancés, vous pouvez utiliser ces propriétés pour filtrer l’affichage des marqueurs.In the Advanced Settings dialog box, you can use these properties to filter the set of markers that are displayed. Ces propriétés ont également un impact sur la représentation visuelle des marqueurs.In addition, these properties affect the visual representation of markers. Par exemple, la taille des indicateurs est utilisée pour représenter l’importance.For example, the size of flags is used to represent importance. La couleur, quant à elle, est utilisée pour indiquer la catégorie.In addition, color is used to indicate category.

Utilisation de baseBasic Usage

Le visualiseur concurrentiel expose un fournisseur par défaut que vous pouvez utiliser pour générer des marqueurs.The Concurrency Visualizer exposes a default provider that you can use to generate markers. Le fournisseur est déjà inscrit avec le visualiseur concurrentiel. Aucune autre étape n’est donc nécessaire pour afficher les marqueurs dans l’interface utilisateur.The provider is already registered together with the Concurrency Visualizer and you don't have to do anything else to make the markers appear in the UI.

C# et Visual BasicC# and Visual Basic

En C#, en Visual Basic et dans tout autre code managé, utilisez le fournisseur par défaut en appelant Markers.In C#, Visual basic, and other managed code, use the default provider by calling Markers. Il expose quatre fonctions de génération de marqueurs : WriteFlag, EnterSpan, WriteMessage et WriteAlert.It exposes four functions for generating markers: WriteFlag, EnterSpan, WriteMessage, and WriteAlert. Il existe plusieurs surcharges pour ces fonctions, selon que vous souhaitez utiliser les valeurs par défaut des propriétés.There are multiple overloads for these functions, depending on whether you want to use defaults for the properties. La surcharge la plus simple accepte un seul paramètre de chaîne qui spécifie la description de l’événement.The simplest overload takes only a string parameter that specifies the description of the event. La description s’affiche dans les rapports du visualiseur concurrentiel.The description is displayed in the Concurrency Visualizer reports.

Pour ajouter la prise en charge du kit SDK à un projet C# ou Visual BasicTo add SDK support to a C# or Visual Basic project
  1. Dans la barre de menus, choisissez Analyser, Visualiseur concurrentiel, Ajouter le SDK au projet.On the menu bar, choose Analyze, Concurrency Visualizer, Add SDK to project.

  2. Sélectionnez le projet dans lequel vous souhaitez accéder au kit SDK, puis cliquez sur le bouton Ajouter le SDK au projet sélectionné.Select the project in which you want to access the SDK and then choose the Add SDK to Selected Project button.

  3. Ajoutez une instruction imports ou using à votre code.Add an imports or using statement to your code.

    using Microsoft.ConcurrencyVisualizer.Instrumentation;  
    
    Imports Microsoft.ConcurrencyVisualizer.Instrumentation  
    

C++C++

En C++, créez un objet de classe marker_series et utilisez-le pour appeler des fonctions.In C++, create a marker_series Class object and use it to call functions. La classe marker_series expose trois fonctions pour générer des marqueurs : la méthode marker_series::write_flag, la méthode marker_series::write_message et la méthode marker_series::write_alert.The marker_series class exposes three functions for generating markers, the marker_series::write_flag Method, the marker_series::write_message Method, and the marker_series::write_alert Method.

Pour ajouter la prise en charge du kit SDK à un projet C++ ou CTo add SDK support to a C++ or C project
  1. Dans la barre de menus, choisissez Analyser, Visualiseur concurrentiel, Ajouter le SDK au projet.On the menu bar, choose Analyze, Concurrency Visualizer, Add SDK to project.

  2. Sélectionnez le projet dans lequel vous souhaitez accéder au kit SDK, puis cliquez sur le bouton Ajouter le SDK au projet sélectionné.Select the project in which you want to access the SDK and then choose the Add SDK to Selected Project button.

  3. En C++, ajoutez cvmarkersobj.h.For C++, include cvmarkersobj.h. En C, ajoutez cvmarkers.h.For C, include cvmarkers.h.

  4. Ajoutez une instruction using à votre code.Add a using statement to your code.

    using namespace Concurrency::diagnostic;  
    
  5. Créez un objet marker_series et passez-le au constructeur span.Create a marker_series object and pass it to the span constructor.

    
    marker_series mySeries;  
    span s(mySeries, _T("Span description"));  
    

Utilisation personnaliséeCustom Usage

Pour les scénarios avancés, le kit SDK du visualiseur concurrentiel peut permettre un plus grand contrôle.For advanced scenarios, the Concurrency Visualizer SDK exposes more control. Deux grands concepts sont associés aux scénarios plus avancés : les fournisseurs de marqueurs et les séries de marqueurs.Two main concepts are associated with more advanced scenarios: marker providers and marker series. Les fournisseurs de marqueurs sont différents des fournisseurs ETW (car ils ont chacun leur propre GUID).Marker providers are different ETW providers (each has a different GUID). Les séries de marqueurs sont des canaux d’événements en série qui sont générés par un fournisseur.Marker series are serial channels of events that are generated by one provider. Vous pouvez les utiliser pour organiser les événements générés par un fournisseur de marqueurs.You can use them to organize the events that are generated by a marker provider.

Pour utiliser un nouveau fournisseur de marqueurs dans un projet C# ou Visual BasicTo use a new marker provider in a C# or Visual Basic project

  1. Créez un objet MarkerWriter.Create a MarkerWriter object. Le constructeur accepte un GUID.The constructor takes a GUID.

  2. Pour inscrire le fournisseur, ouvrez la boîte de dialogue Paramètres avancés du visualiseur concurrentiel.To register the provider, open the Concurrency Visualizer Advanced Settings dialog box. Sélectionnez l’onglet Marqueurs, puis cliquez sur le bouton Ajouter un nouveau fournisseur.Select the Markers tab and then choose the Add New Provider button. Dans la boîte de dialogue Paramètres avancés, entrez le GUID qui a été utilisé pour créer le fournisseur, ainsi que la description du fournisseur.In the Advanced Settings dialog box, enter the GUID that was used to create the provider and a description of the provider.

Pour utiliser un nouveau fournisseur de marqueurs dans un projet C++ ou CTo use a new marker provider in a C++ or C project

  1. Utilisez la fonction CvInitProvider pour initialiser un PCV_PROVIDER.Use the CvInitProvider function to initialize a PCV_PROVIDER. Le constructeur accepte un GUID* et un PCV_PROVIDER*.The constructor takes a GUID* and PCV_PROVIDER*.

  2. Pour inscrire le fournisseur, ouvrez la boîte de dialogue Paramètres avancés.To register the provider, open the Advanced Settings dialog box. Sélectionnez l’onglet Marqueurs, puis cliquez sur le bouton Ajouter un nouveau fournisseur.Select the Markers tab and then choose the Add New Provider button. Dans la boîte de dialogue, entrez le GUID qui a été utilisé pour créer le fournisseur, ainsi que la description du fournisseur.In this dialog box, enter the GUID that was used to create the provider and a description of the provider.

Pour utiliser une série de marqueurs dans un projet C# ou Visual BasicTo use a marker series in a C# or Visual Basic project

  1. Pour utiliser un nouveau MarkerSeries, commencez par en créer un à l’aide d’un objet MarkerWriter, puis générez les événements de marqueur directement à partir de la nouvelle série.To use a new MarkerSeries, first create it by using a MarkerWriter object, and then generate marker events directly from the new series.

    MarkerSeries series1 = myMarkerWriter.CreateMarkerSeries("Series 1");  
    series1.WriteFlag("My flag");  
    
    Dim series1 As New myMarkerWriter.CreateMarkerSeries("Series 1")  
    series1.WriteFlag("My flag")  
    

Pour utiliser une série de marqueurs dans un projet en C++To use a marker series in a C++ project

  1. Créez un objet marker_series.Create a marker_series object. Vous pouvez générer des événements à partir de cette nouvelle série.You can generate events from this new series.

    marker_series series;  
    series.write_flag(_T("Hello world!"));  
    

Pour utiliser une série de marqueurs dans un projet en CTo use a marker series in a C project

  1. Utilisez la fonction CvCreateMarkerSeries pour créer une série PCV_MARKERSERIES.Use the CvCreateMarkerSeries function to create a PCV_MARKERSERIES.

    PCV_MARKERSERIES series;  
    CvCreatemarkerSeries(myProvider, _T("My Series"), &series);  
    CvWriteFlag(series, _T("Writing a flag"));  
    
TitreTitle DescriptionDescription
Informations de référence sur la bibliothèque C++C++ Library Reference Décrit l’API du visualiseur concurrentiel pour le langage C++.Describes the Concurrency Visualizer API for C++.
Informations de référence sur la bibliothèque CC Library Reference Décrit l’API du visualiseur concurrentiel pour le langage C.Describes the Concurrency Visualizer API for C.
Microsoft.ConcurrencyVisualizer.Instrumentation Décrit l’API du visualiseur concurrentiel pour le code managé.Describes the Concurrency Visualizer API for managed code.
Visualiseur concurrentielConcurrency Visualizer Informations de référence sur les vues et les rapports des fichiers de données de profilage qui sont générés à l’aide de la méthode d’accès concurrentiel et qui comprennent des données d’exécution des threads.Reference information for the views and reports of profiling data files that are generated by using the concurrency method and that include thread execution data.