Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De C++ Build Insights SDK is compatibel met Visual Studio 2017 en hoger. Als u de documentatie voor deze versies wilt bekijken, stelt u het besturingselement Visual Studio Version selector voor dit artikel in op Visual Studio 2017 of hoger. Deze bevindt zich boven aan de inhoudsopgave op deze pagina.
De RawEvent klasse wordt gebruikt om een algemene gebeurtenis in een EventStack weer te geven.
Syntaxis
class RawEvent
{
public:
RawEvent(const EVENT_DATA& event);
const unsigned short& EventId() const;
const unsigned long long& EventInstanceId() const;
const long long& TickFrequency() const;
const long long& StartTimestamp() const;
const long long& StopTimestamp() const;
const long long& ExclusiveDurationTicks() const;
const long long& CPUTicks() const;
const long long& ExclusiveCPUTicks() const;
const long long& WallClockTimeResponsibilityTicks() const;
const long long& ExclusiveWallClockTimeResponsibilityTicks() const;
const void* Data() const;
const unsigned long& ProcessId() const;
const unsigned long& ThreadId() const;
const unsigned short& ProcessorIndex() const;
const char* EventName() const;
const wchar_t* EventWideName() const;
std::chrono::nanoseconds Duration() const;
std::chrono::nanoseconds ExclusiveDuration() const;
std::chrono::nanoseconds CPUTime() const ;
std::chrono::nanoseconds ExclusiveCPUTime() const;
std::chrono::nanoseconds WallClockTimeResponsibility() const;
std::chrono::nanoseconds ExclusiveWallClockTimeResponsibility() const;
};
Opmerkingen
Verschillende lidfuncties in de RawEvent class retourneren een tick telling. C++ Build Insights maakt gebruik van de prestatiecounter van Windows als bron van tikken. Een tikkenaantal moet worden gebruikt met een tikkenfrequentie om deze te converteren naar een tijdseenheid zoals seconden. De TickFrequency ledenfunctie kan worden aangeroepen om de tickfrequentie te krijgen. Zie de pagina EVENT_DATA voor een voorbeeld van het converteren van tikken naar een tijdseenheid.
Als u tics niet zelf wilt converteren, biedt de RawEvent klasse lidfuncties die tijdwaarden in nanoseconden teruggeven. Gebruik de standaard-C++ chrono -bibliotheek om nanoseconden te converteren naar andere tijdseenheden.
Leden
Constructeur
Functies
CPUTicks
CPUTime
Gegevens
Duur
EventId
EventInstanceId
EventName
EventWideName
ExclusiveCPUTicks
ExclusiveCPUTime
ExclusiveDuration
ExclusiveDurationTicks
ExclusieveVerantwoordelijkheidVoorKloktijd
ExclusieveWandkloktijdVerantwoordelijkheidTikken
ProcessId
ProcessorIndex
StartTimestamp
StopTimestamp
ThreadId
TickFrequency
Verantwoordelijkheid voor wandkloktijd
WallClockTimeResponsibilityTicks
RawEvent
RawEvent(const EVENT_DATA& data);
Parameterwaarden
gebeurtenis
De gebeurtenisgegevens.
CPUTicks
const long long& CPUTicks() const;
Retourwaarde
Het aantal CPU-tikken dat is opgetreden tijdens deze activiteit. Een CPU-tick verschilt van een gewone tick. CPU-tikken worden alleen geteld wanneer de CPU code in een activiteit uitvoert. CPU-tikken worden niet meegeteld wanneer de thread die is gekoppeld aan de activiteit slaapt.
CPU-tijd
std::chrono::nanoseconds CPUTime()() const;
Retourwaarde
De tijdsduur waarin de CPU code uitvoerde binnen deze activiteit. Deze waarde kan hoger zijn dan de duur van de activiteit als subactiviteiten worden uitgevoerd op aparte threads. De waarde wordt geretourneerd in nanoseconden.
Gegevens
const void* Data() const;
Retourwaarde
Een aanwijzer naar extra gegevens in deze gebeurtenis. Zie EVENT_DATA voor meer informatie over het interpreteren van dit veld.
Duur
std::chrono::nanoseconds Duration() const;
Retourwaarde
De duur van de activiteit in nanoseconden.
EventId
const unsigned short& EventId() const;
Retourwaarde
Een getal dat het gebeurtenistype aangeeft. Zie EVENT_ID voor een lijst met gebeurtenis-id's.
EventInstanceId
const unsigned long long& EventInstanceId() const;
Retourwaarde
Een getal dat de gebeurtenis uniek identificeert binnen een trace. Deze waarde verandert niet wanneer dezelfde trace meerdere keren wordt geanalyseerd of opnieuw wordt gelogd. Gebruik deze waarde om dezelfde gebeurtenis te identificeren in meerdere analyses of her-analyses van dezelfde tracering.
Naam van het evenement
const char* EventName() const;
Retourwaarde
Een ANSI-tekenreeks met de naam van het gebeurtenistype dat wordt geïdentificeerd door EventId.
EventWideName
const wchar_t* EventWideName() const;
Retourwaarde
Een brede tekenreeks met de naam van het gebeurtenistype dat wordt geïdentificeerd door EventId.
ExclusiveCPUTicks
const long long& ExclusiveCPUTicks() const;
Retourwaarde
Hetzelfde als CPUTicks, maar zonder de CPU-tikken die zijn opgetreden in subactiviteiten.
ExclusiveCPUTime
std::chrono::nanoseconds ExclusiveCPUTime() const;
Retourwaarde
Hetzelfde als CPUTime, behalve dat de CPU-tijd van subactiviteiten niet is meegerekend.
ExclusieveDuur
std::chrono::nanoseconds ExclusiveDuration() const;
Retourwaarde
De duur van de activiteit in nanoseconden, niet inclusief de hoeveelheid tijd die is besteed aan onderliggende activiteiten.
ExclusiveDurationTicks
const long long& ExclusiveDurationTicks() const;
Retourwaarde
Het aantal tikken dat in deze activiteit heeft plaatsgevonden, met uitzondering van het aantal tikken dat plaatsvond in onderliggende activiteiten.
Exclusieve Betrokkenheid bij Kloktijdverantwoordelijkheid
std::chrono::nanoseconds ExclusiveWallClockTimeResponsibility() const;
Retourwaarde
Hetzelfde als WallClockTimeResponsibility, maar niet inclusief de tijdsverantwoordelijkheid van de wandklok van onderliggende activiteiten.
ExclusieveWandkloktijdVerantwoordelijkheidTikjes
const long long& ExclusiveWallClockTimeResponsibilityTicks() const;
Retourwaarde
Hetzelfde als WallClockTimeResponsibilityTicks, maar zonder de verantwoordelijkheidstikken van de wandkloktijd van kindsactiviteiten.
ProcessId
const unsigned long& ProcessId() const;
Retourwaarde
De id voor het proces waarin de gebeurtenis heeft plaatsgevonden.
ProcessorIndex
const unsigned short& ProcessorIndex() const;
Retourwaarde
De op nul gebaseerde index voor de logische processor waarop de gebeurtenis heeft plaatsgevonden.
Starttijdstempel
const long long& StartTimestamp() const;
Retourwaarde
Een maatstreepwaarde die is vastgelegd op het moment dat de activiteit is gestart.
StopTimestamp
const long long& StopTimestamp() const;
Retourwaarde
Een tikwaarde die is vastgelegd op het moment dat de activiteit stopte.
ThreadId
const unsigned long& ThreadId() const;
Retourwaarde
De id voor de thread waarin de gebeurtenis heeft plaatsgevonden.
Tikinfrequentie
const long long& TickFrequency() const;
Retourwaarde
Het aantal tikken per seconde dat moet worden gebruikt bij het evalueren van een duur die in tikken is gemeten voor dit evenement.
Verantwoordelijkheid voor Wandkloktijd
std::chrono::nanoseconds WallClockTimeResponsibility() const;
Retourwaarde
De tijdsverantwoordelijkheid van de wandklok van deze activiteit, in nanoseconden. Zie WallClockTimeResponsibilityTicks voor meer informatie over wat verantwoordelijkheid voor wandkloktijd betekent.
Verantwoordelijkheidstikken van de Kloktijd
const long long& WallClockTimeResponsibilityTicks() const;
Retourwaarde
Een tikkentelling die de bijdrage van deze activiteit aan de totale kloktijd aangeeft. Een verantwoordelijkheidsstreepje voor wandkloktijd verschilt van een gewone maatstreepje. De verantwoordelijkheid van de wandklok houdt rekening met parallellisme tussen activiteiten. Twee parallelle activiteiten kunnen een duur hebben van 50 tikken en dezelfde begin- en eindtijd. In dit geval krijgen beide een verantwoordelijkheid voor wandkloktijd van 25 tikken toegewezen.