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
Na pasku menu wybierz pozycję Analizuj, Concurrency Visualizer, Dodaj zestaw SDK do projektu.
Wybierz projekt, w którym chcesz uzyskać dostęp do zestawu SDK, a następnie wybierz przycisk Dodaj zestaw SDK do wybranego projektu .
Dodaj instrukcję import lub using do kodu.
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
Na pasku menu wybierz pozycję Analizuj, Concurrency Visualizer, Dodaj zestaw SDK do projektu.
Wybierz projekt, w którym chcesz uzyskać dostęp do zestawu SDK, a następnie wybierz przycisk Dodaj zestaw SDK do wybranego projektu .
W przypadku języka C++uwzględnij wartość
cvmarkersobj.h
. W przypadku języka C dołącz wartośćcvmarkers.h
.Dodaj instrukcję using do kodu.
using namespace Concurrency::diagnostic;
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
Utwórz obiekt MarkerWriter. Konstruktor przyjmuje identyfikator GUID.
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
CvInitProvider
Użyj funkcji , aby zainicjować PCV_PROVIDER. Konstruktor przyjmuje identyfikator GUID* i PCV_PROVIDER*.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
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.
Aby użyć serii znaczników w projekcie C++
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
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. |