Udostępnij za pośrednictwem


Concurrency Visualizer SDK

Kod źródłowy można instrumentować przy użyciu zestawu SDK concurrency Visualizer, aby wyświetlić dodatkowe informacje w wizualizatorze współbieżności. Dodatkowe dane można skojarzyć z fazami i zdarzeniami w kodzie. Te dodatkowe wizualizacje są nazywane znacznikami. Aby zapoznać się z przewodnikiem wprowadzającym, zobacz Wprowadzenie do zestawu SDK wizualizatora 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 Zaawansowane Ustawienia można użyć tych właściwości do filtrowania zestawu wyświetlanych znaczników. Ponadto te właściwości wpływają na wizualną reprezentację znaczników. Na przykład rozmiar flag służy do reprezentowania ważności. Ponadto kolor służy do wskazywania kategorii.

Podstawowy sposób użycia

Wizualizator współbieżności uwidacznia domyślnego dostawcę, którego można użyć do generowania znaczników. Dostawca jest już zarejestrowany razem z wizualizatorem współbieżności i nie musisz wykonywać żadnych innych czynności, aby znaczniki pojawiały się w interfejsie użytkownika.

C# i Visual Basic

W języku C#, Visual Basic i innym zarządzanym kodzie użyj domyślnego dostawcy, wywołując metody w klasie Markers . Udostępnia cztery metody generowania znaczników: WriteFlag, EnterSpan, WriteMessage i WriteAlert. Istnieje wiele przeciążeń dla tych funkcji, w zależności od tego, czy chcesz użyć wartości domyślnych dla właściwości. Najprostsze przeciążenie przyjmuje tylko parametr ciągu, który określa opis zdarzenia. Opis jest wyświetlany w raportach concurrency Visualizer.

Aby dodać obsługę zestawu SDK do projektu C# lub Visual Basic
  1. Na pasku menu wybierz pozycję Analizuj, Concurrency Visualizer, Dodaj zestaw SDK do projektu.

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

  3. Dodaj instrukcję import lub using do kodu.

    using Microsoft.ConcurrencyVisualizer.Instrumentation;
    

C++

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

Aby dodać obsługę zestawu SDK do projektu C++ lub C
  1. Na pasku menu wybierz pozycję Analizuj, Concurrency Visualizer, Dodaj zestaw SDK do projektu.

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

  3. W przypadku języka C++uwzględnij wartość cvmarkersobj.h. W przypadku języka C dołącz wartość cvmarkers.h.

  4. Dodaj instrukcję using do kodu.

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

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

Użycie niestandardowe

W przypadku zaawansowanych scenariuszy zestaw SDK concurrency Visualizer udostępnia większą kontrolę. Dwa główne pojęcia są związane z bardziej zaawansowanymi scenariuszami: dostawcami znaczników i serią znaczników. Dostawcy znaczników są różnymi dostawcami ETW (każdy ma inny identyfikator GUID). Serie znaczników to kanały szeregowe zdarzeń generowanych przez jednego dostawcę. Można ich użyć do organizowania zdarzeń generowanych przez dostawcę znaczników.

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

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

  2. Aby zarejestrować dostawcę, otwórz okno dialogowe Advanced Ustawienia Concurrency Visualizer. Wybierz kartę Znaczniki, a następnie wybierz przycisk Dodaj nowego dostawcę. W oknie dialogowym Zaawansowane Ustawienia wprowadź identyfikator GUID użyty do utworzenia dostawcy i opis dostawcy.

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

  1. CvInitProvider Użyj funkcji , aby zainicjować PCV_PROVIDER. Konstruktor przyjmuje identyfikator GUID* i PCV_PROVIDER*.

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

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

  1. Aby użyć nowego znacznikaSeries, najpierw utwórz go 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");
    

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

  1. Utwórz marker_series obiekt. Zdarzenia z tej nowej serii można wygenerować.

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

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

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

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

Zobacz też

Nazwa opis
Dokumentacja biblioteki języka C++ Opisuje interfejs API wizualizatora współbieżności dla języka C++.
Dokumentacja biblioteki języka C Opisuje interfejs API wizualizatora współbieżności dla języka C.
Instrumentacji Opisuje interfejs API wizualizatora współbieżności dla kodu zarządzanego.
Concurrency Visualizer Informacje referencyjne dotyczące widoków i raportów profilowania plików danych, które są generowane przy użyciu metody współbieżności i które obejmują dane wykonywania wątku.