Freigeben über


Parallelitätsschnellansichts-SDK

Sie können Ihren Quellcode instrumentieren und mithilfe des SDKs der Nebenläufigkeitsschnellansicht zusätzliche Informationen in der Nebenläufigkeitsschnellansicht anzeigen. Die zusätzlichen Daten lassen sich mit Phasen und Ereignissen in Ihrem Code zuordnen. Diese zusätzlichen Visualisierungen werden als Marker bezeichnet. Eine exemplarische Vorgehensweise finden Sie unter Introducing the Concurrency Visualizer SDK (Einführung in das Concurrency Visualizer SDK).

Eigenschaften

Kennzeichen, Spannen und Meldungen verfügen über jeweils zwei Eigenschaften: Kategorie und Wichtigkeit. Im Dialogfeld Erweiterte Einstellungen können Sie diese Eigenschaften verwenden, um den Satz der angezeigten Marker zu filtern. Diese Eigenschaften beeinflussen außerdem die visuelle Darstellung der Marker. Die Größe der Kennzeichen beispielsweise gibt einen Hinweis auf die Wichtigkeit. Die Farbe weist auf die Kategorie hin.

Grundlegende Verwendung

Die Nebenläufigkeitsschnellansicht macht einen Standardanbieter verfügbar, den Sie zum Generieren von Markern verwenden können. Der Anbieter ist bereits zusammen mit der Nebenläufigkeitsschnellansicht registriert. Sie müssen nichts weiter unternehmen, damit die Marker in der Benutzeroberfläche angezeigt werden.

C# und Visual Basic

Verwenden Sie in C#, Visual Basic und anderem verwalteten Code den Standardanbieter, indem Sie Methoden in der Marker-Klasse aufrufen. Dadurch werden vier Methoden zum Generieren von Markern verfügbar: WriteFlag, EnterSpan, WriteMessage und WriteAlert. Für diese Funktionen gibt es mehrere Überladungen, je nachdem, ob Sie Standardwerte für die Eigenschaften verwenden möchten. Die einfachste Überladung verwendet nur einen Zeichenfolgenparameter, der die Beschreibung des Ereignisses angibt. Die Beschreibung wird in den Berichten der Nebenläufigkeitsschnellansicht angezeigt.

So fügen Sie einem C#- oder Visual Basic-Projekt Unterstützung für SDK hinzu
  1. Wählen Sie in der Menüleiste Analysieren, Nebenläufigkeitsschnellansicht und SDK zum Projekt hinzufügen aus.

  2. Wählen Sie das Projekt aus, in dem Sie auf das SDK zugreifen möchten, und wählen Sie anschließend die Schaltfläche SDK zum ausgewählten Projekt hinzufügen aus.

  3. Fügen Sie Ihrem Code eine Import- oder Using-Anweisung hinzu.

    using Microsoft.ConcurrencyVisualizer.Instrumentation;
    

C++

Erstellen Sie in C++ ein marker_series Class-Objekt, und verwenden Sie sie zum Aufrufen von Funktionen. Die marker_series-Klasse macht drei Funktionen zum Generieren von Markern verfügbar: die marker_series:: write_flag-Methode, die marker_series:: write_message-Methode und die marker_series:: write_alert-Methode.

So fügen Sie einem C++- oder C-Projekt Unterstützung für SDK hinzu
  1. Wählen Sie in der Menüleiste Analysieren, Nebenläufigkeitsschnellansicht und SDK zum Projekt hinzufügen aus.

  2. Wählen Sie das Projekt aus, in dem Sie auf das SDK zugreifen möchten, und wählen Sie anschließend die Schaltfläche SDK zum ausgewählten Projekt hinzufügen aus.

  3. Schließen Sie in C++ cvmarkersobj.h ein. Schließen Sie in C cvmarkers.h ein.

  4. Fügen Sie Ihrem Code eine Using-Anweisung hinzu.

    using namespace Concurrency::diagnostic;
    
  5. Erstellen Sie ein marker_series-Objekt, und übergeben Sie es dem span-Konstruktor.

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

Benutzerdefinierte Verwendung

Bei erweiterten Szenarios macht das SDK der Nebenläufigkeitsschnellansicht weitere Steuerelemente verfügbar. Mit erweiterten Szenarios sind zwei wesentliche Konzepte verbunden: Markeranbieter und Markerserien. Markeranbieter sind verschiedene ETW-Anbieter (jeder verfügt über eine andere GUID). Markerserien sind serielle Kanäle von Ereignissen, die von einem Anbieter generiert werden. Sie können sie verwenden, um die Ereignisse zu organisieren, die von einem Markeranbieter generiert werden.

So verwenden Sie einen neuen Markeranbieter in einem C#- oder Visual Basic-Projekt

  1. Erstellen Sie ein MarkerWriter -Objekt. Der Konstruktor nimmt eine GUID an.

  2. Öffnen Sie zum Registrieren des Anbieters das Dialogfeld Erweiterte Einstellungen der Nebenläufigkeitsschnellansicht. Wählen Sie die Registerkarte Marker, und wählen Sie anschließend die Schaltfläche Neuen Anbieter hinzufügen aus. Geben Sie im Dialogfeld Erweiterte Einstellungen die GUID ein, die verwendet wurde, um den Anbieter und eine Beschreibung des Anbieters zu erstellen.

So verwenden Sie einen neuen Markeranbieter in einem C++- oder Visual Basic-Projekt

  1. Verwenden Sie die CvInitProvider-Funktion, um PCV_PROVIDER zu initialisieren. Der Konstruktor nimmt eine GUID* und einen PCV_PROVIDER an.

  2. Öffnen Sie zum Registrieren des Anbieters das Dialogfeld Erweiterte Einstellungen. Wählen Sie die Registerkarte Marker, und wählen Sie anschließend die Schaltfläche Neuen Anbieter hinzufügen aus. Geben Sie in diesem Dialogfeld die GUID ein, die verwendet wurde, um den Anbieter und eine Beschreibung des Anbieters zu erstellen.

So verwenden Sie eine neue Markerserie in einem C#- oder Visual Basic-Projekt

  1. Um eine neue MarkerSeries zu verwenden, erstellen Sie sie zuerst mithilfe eines MarkerWriter-Objekts. Generieren Sie anschließend Markerereignisse direkt aus der neuen Serie.

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

So verwenden Sie eine neue Markerserie in einem C++-Projekt

  1. Erstellen eines marker_series-Objekts Sie können Ereignisse aus dieser neuen Serie generieren.

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

So verwenden Sie eine Markerserie in einem C-Projekt

  1. Verwenden Sie die CvCreateMarkerSeries-Funktion, um eine PCV_MARKERSERIES zu erstellen.

    PCV_MARKERSERIES series;
    CvCreatemarkerSeries(myProvider, _T("My Series"), &series);
    CvWriteFlag(series, _T("Writing a flag"));
    

Siehe auch

Titel Beschreibung
C++-Bibliotheksreferenz Beschreibt die Nebenläufigkeitsschnellansicht-API für C++
C Bibliotheksreferenz Beschreibt die Nebenläufigkeitsschnellansicht-API für C
Instrumentation Beschreibt die Nebenläufigkeitsschnellansicht-API für verwalteten Code
Parallelitätsschnellansicht Referenzinformationen zu den Ansichten und Berichten der Profilerstellungs-Datendateien, die mithilfe der Parallelitätsmethode generiert werden und Threadausführungsdaten enthalten.