Udostępnij za pośrednictwem


Concurrency Visualizer SDK

Możesz instrumentować kod źródłowy przy użyciu zestawu Concurrency Visualizer SDK, aby wyświetlić dodatkowe informacje w narzędziu Concurrency Visualizer.Dodatkowe dane możesz skojarzyć z fazami i zdarzeniami w kodzie.Te dodatkowe wizualizacje są nazywane znacznikami. Aby uzyskać wprowadzające instruktażu, zobacz wprowadzenie zestawu SDK Visualizer współbieżności.

Właściwości

Flagi, zakresy i komunikaty mają dwie właściwości: kategoria i ważność.W oknie dialogowym Ustawienia zaawansowane, możesz użyć tych właściwości do filtrowania zestawu znaczników, które są wyświetlane.Ponadto, właściwości te wpływają na wizualną reprezentację znaczników.Na przykład, rozmiar flag jest używany do reprezentowania ważności.Ponadto, kolor jest używany do wskazania kategorii.

Zastosowanie podstawowe

Narzędzie Concurrency Visualizer uwidacznia domyślnego dostawcę, którego możesz użyć do generowania znaczników.Dostawca jest już zarejestrowany razem z narzędziem Concurrency Visualizer i nie musisz wykonać żadnych dodatkowych czynności, aby znaczniki pojawiły się w interfejsie użytkownika.

Języki C# i Visual Basic

W językach C#, Visual Basic i innym kodzie zarządzanym, użyj domyślnego dostawcy, wywołując Markers.Uwidacznia on cztery funkcje do generowania znaczników: WriteFlag, EnterSpan, WriteMessage i WriteAlert.Istnieje wiele przeciążeń tych funkcji, w zależności czy chcesz używać ustawień domyślnych dla właściwości. Najprostsze przeciążenie przyjmuje tylko jeden parametr ciągu, który określa opis zdarzenia.Opis jest wyświetlany w raportach narzędzia Concurrency Visualizer.

Aby dodać obsługę zestawu SDK do projektów języka C# lub Visual Basic

  1. Na pasku menu, wybierz Analizuj, Concurrency Visualizer, Dodaj zestaw SDK do projektu.

  2. Wybierz projekt, w którym chcesz mieć dostęp do zestawu SDK, a następnie wybierz przycisk Dodaj zestaw SDK do wybranego projektu.

  3. Dodaj instrukcję imports lub using do kodu.

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

C++

W języku C++, utwórz obiekt marker_series — Klasa i użyj go do wywołania funkcji. Klasa marker_series uwidacznia trzy funkcje do generowania znaczników: marker_series::write_flag — Metoda, marker_series::write_message — Metoda i marker_series::write_alert — Metoda.

Aby dodać obsługę zestawu SDK do projektu języka C++ lub C

  1. Na pasku menu, wybierz Analizuj, Concurrency Visualizer, Dodaj zestaw SDK do projektu.

  2. Wybierz projekt, w którym chcesz mieć dostęp do zestawu SDK, a następnie wybierz przycisk Dodaj zestaw SDK do wybranego projektu.

  3. W języku C++, dołącz cvmarkersobj.h.W języku C, dołącz cvmarkers.h.

  4. Dodaj instrukcję using do kodu.

    using namespace Concurrency::diagnostic;
    
  5. Utwórz obiekt marker_series i przekaż go do konstruktora span.

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

Zastosowanie niestandardowe

Do zaawansowanych scenariuszy, zestaw Concurrency Visualizer SDK uwidacznia więcej możliwości kontroli. Dwie główne koncepcje związane są z bardziej zaawansowanymi scenariuszami: dostawcy znaczników i serie znaczników.Dostawcy znaczników są różnymi dostawcami ETW (każdy z nich posiada inny identyfikator GUID).Serie znaczników są szeregowymi kanałami zdarzeń, które zostały wygenerowane przez jednego dostawcę.Możesz używać ich do zorganizowania zdarzeń, które zostały wygenerowane przez dostawcę znaczników.

Aby użyć nowego dostawcy znaczników w projekcie języka C# lub Visual Basic

  1. Utwórz MarkerWriter obiek. Konstruktor przyjmuje identyfikator GUID.

  2. Aby zarejestrować dostawcę, otwórz okno dialogowe Ustawienia zaawansowane w narzędziu Concurrency Visualizer. Wybierz kartę Znaczniki, a następnie wybierz przycisk Dodaj nowego dostawcę.W oknie dialogowym Ustawienia zaawansowane, wprowadź identyfikator GUID, który został użyty do utworzenia dostawcy oraz opis dostawcy.

Aby użyć nowego dostawcy znaczników w projekcie języka C++ lub C

  1. Użyj funkcji CvInitProvider do zainicjowania PCV_PROVIDER. Konstruktor ma identyfikator GUID * i PCV_PROVIDER *.

  2. Aby zarejestrować dostawcę, otwórz okno dialogowe Ustawienia zaawansowane. Wybierz kartę Znaczniki, a następnie wybierz przycisk Dodaj nowego dostawcę.W oknie dialogowym, wprowadź identyfikator GUID, który został użyty do utworzenia dostawcy oraz opis dostawcy.

Aby użyć serię znaczników w projekcie języka C# lub Visual Basic

  • Aby użyć nowej serii MarkerSeries, najpierw utwórz ją przy użyciu obiektu MarkerWriter, a następnie wygeneruj zdarzenia znacznika bezpośrednio z nowej serii.

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

Aby użyć serii znaczników w projekcie języka C++

  • Utwórz marker_series obiek. Możesz wygenerować zdarzenia z nowej serii.

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

Aby użyć serii znaczników w projekcie języka C

  • Użyj funkcji CvCreateMarkerSeries, aby utworzyć PCV_MARKERSERIES.

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

Tematy pokrewne

Tytuł

Opis

Odwołanie do biblioteki C++

Opisuje interfejs Concurrency Visualizer API dla języka C++.

Odwołanie do biblioteki C

Opisuje interfejs Concurrency Visualizer API dla języka C.

Microsoft.ConcurrencyVisualizer.Instrumentation

Opisuje interfejs Concurrency Visualizer API dla kodu zarządzanego.

Concurrency Visualizer

Informacje o odwołaniach dotyczących widoków i raportów plików danych profilowania, które zostały wygenerowane przy użyciu metody współbieżności i uwzględniają dane wykonania wątku.