Přidání značek uživatelů na časovou osu profilace (C#, C++)
Značky uživatelů umožňují sledovat vlastní události v nástrojích pro profilaci sady Visual Studio přidáním funkcí značek uživatelů do kódu. Uživatelské značky se zobrazí jako vizuální značky v grafech časové osy. Můžete to udělat ke sledování jedné události nebo ke sledování rozsahu. Můžete například sledovat rozsah událostí "stop" a "start".
Poznámka:
Tato funkce vyžaduje Visual Studio 2022 verze 17.11 Preview 3. Tato funkce je k dispozici v profileru výkonu a ne při ladění v centru diagnostiky.
Instalace a nastavení
Podporu této funkce můžete nainstalovat buď pomocí balíčku NuGet, nebo přidáním správných zdrojových souborů.
Instalace pomocí balíčku NuGet (C#)
Stáhněte balíček Microsoft.VisualStudio.DiagnosticsHub.UserMarks.
Instalace přidáním zdrojových souborů (C#, C++)
Po instalaci sady Visual Studio otevřete následující složku: [Cesta instalace VS]\Common7\IDE\CommonExtensions\Platform\DiagnosticsHub.
Pro kód jazyka C# přidejte do projektu UserMarks.cs a UserMarksRange.cs .
Pro nativní kód C++ přidejte do projektu UserMarks.h .
Přidání značek uživatelů (C#)
Do konfigurace sestavení projektu přidejte následující definici preprocesoru: DIAGHUB_ENABLE_TRACE_SYSTEM
.
Přidání definice v sadě Visual Studio:
Klikněte pravým tlačítkem myši na projekt v Průzkumník řešení a pak vyberte Vlastnosti.
Vyberte Sestavit > obecné > symboly podmíněné kompilace.
Do polí vlastních symbolů pro sestavení Debug a Release přidejte
DIAGHUB_ENABLE_TRACE_SYSTEM
jako definici preprocesoru.
Přidejte objekt značky uživatele a vygenerujte ho. Následující kód ukazuje příklad přidání značek uživatele.
using Microsoft.DiagnosticsHub;
// Create a user mark
var myUserMark = new UserMarks("MyMark");
// Emit the usermark
myUserMark.Emit("Event happened!");
// Emit statically
UserMarks.EmitMessage("Emitting just a message");
// Emitting a range
using (var myRange = new UserMarkRange("MyMethodRange"))
{
// Your code here
}
Přidání značek uživatelů (C++)
Pokud chcete použít rozhraní API nativních značek uživatelů, přidejte do projektu UserMarks.h a do aplikace přidejte následující kód:
#define DIAGHUB_ENABLE_TRACE_SYSTEM
#include "UserMarks.h"
DIAGHUB_DECLARE_TRACE;
// Start the trace system
DIAGHUB_START_TRACE_SYSTEM();
// Initialize user marks
USERMARKS_INITIALIZE(L"User mark name");
// Initialize user mark range
USERMARKRANGE_INITIALIZE(L"Range name");
// Emit events
USERMARKS_EMIT(L"Message to emit with user mark");
USERMARKRANGE_START(L"Message to emit with range");
USERMARKRANGE_END();
// Stop the trace system
DIAGHUB_STOP_TRACE_SYSTEM();
Zobrazit značky uživatelů
Když máte projekt otevřený v sadě Visual Studio, otevřete Profiler výkonu (Alt + F2), vyberte nástroj a vyberte tlačítko Start .
Ujistěte se, že se spustí kód značky uživatele, který jste přidali do aplikace.
Uživatelské značky se zobrazují na pravítku nad grafem časové osy a v tabulce s podrobnostmi o časových razítkech, souvisejících procesech a všech zprávách, které jste vygenerují.
Na časové ose se značka uživatele zobrazí jako invertovaný trojúhelník.
V podokně Souhrn vyberte Zobrazit značky uživatelů, abyste zobrazili podrobnosti o značkách uživatele.
Podrobnosti se zobrazí na kartě Značky uživatelů.
Pokud chcete zobrazit podrobnosti o značce uživatele na časové ose, najeďte myší na značky na pravítku.
Pokud chcete filtrovat zobrazení podrobností, vyberte časový rozsah v grafu časové osy nebo klikněte pravým tlačítkem myši na řádek a vyberte čas zahájení a ukončení a vyfiltrujte graf časové osy.
Zobrazení můžete také filtrovat nastavením intervalů pro rozsahy nebo výběrem více uživatelských značek.