Classe de atividade
O SDK do C++ Build Insights é compatível com o Visual Studio 2017 e posterior. Para ver a documentação dessas versões, defina o controle seletor de Versão do Visual Studio deste artigo para o Visual Studio 2017 ou posterior. Ele é encontrado na parte superior da tabela de conteúdo nesta página.
A classe Activity
é usada com as funções MatchEvent, MatchEventInMemberFunction, MatchEventStack e MatchEventStackInMemberFunction. Use-a para corresponder a qualquer evento de atividade. Confira a tabela de eventos para ver todos os eventos que podem ter correspondência com a classe Activity
.
Sintaxe
class Activity : public Event
{
public:
Activity(const RawEvent& event);
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;
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;
};
Comentários
Várias funções membro na classe Activity
retornam uma contagem de tiques. O C++ Build Insights usa o contador de desempenho do Windows como uma fonte de tiques. Uma contagem de tiques precisa ser usada com uma frequência de tiques para convertê-la em uma unidade de tempo, como segundos. A função membro TickFrequency
, disponível na classe base Event, pode ser chamada para obter a frequência de tiques. A página EVENT_DATA mostra um exemplo de conversão de tiques em uma unidade de tempo.
Se você não quiser converter tiques por conta própria, a classe Activity
fornece funções membro que retornam valores temporais em nanossegundos. Use a Biblioteca Padrão C++ chrono
para convertê-los em outras unidades de tempo.
Membros
Junto com os membros herdados de sua classe base Event, a classe Activity
contém os seguintes membros:
Construtor
Funções
CPUTicks
CPUTime
Duration
ExclusiveCPUTicks
ExclusiveCPUTime
ExclusiveDuration
ExclusiveDurationTicks
ExclusiveWallClockTimeResponsibility
ExclusiveWallClockTimeResponsibilityTicks
StartTimestamp
StopTimestamp
WallClockTimeResponsibility
WallClockTimeResponsibilityTicks
Atividade
Activity(const RawEvent& event);
Parâmetros
event
Qualquer evento de atividade.
CPUTicks
const long long& CPUTicks() const;
Valor de Devolução
O número de tiques de CPU que ocorreram durante essa atividade. Um tique de CPU é diferente de um tique comum. Os tiques de CPU só são contados quando a CPU está executando código em uma atividade. Os tiques de CPU não são contados quando o thread associado à atividade está ocioso.
CPUTime
std::chrono::nanoseconds CPUTime()() const;
Valor de Devolução
A quantidade de tempo pelo qual a CPU estava executando código dentro dessa atividade. Esse valor poderá ser maior do que a duração da atividade se as atividades filho forem executadas em threads separados. O valor é retornado em nanossegundos.
Duration
std::chrono::nanoseconds Duration() const;
Valor de Devolução
A duração da atividade em nanossegundos.
ExclusiveCPUTicks
const long long& ExclusiveCPUTicks() const;
Valor de Devolução
O mesmo que CPUTicks, mas não incluindo os tiques de CPU que ocorreram em atividades filho.
ExclusiveCPUTime
std::chrono::nanoseconds ExclusiveCPUTime() const;
Valor de Devolução
O mesmo que CPUTime, exceto que o tempo de CPU das atividades filho não está incluído.
ExclusiveDuration
std::chrono::nanoseconds ExclusiveDuration() const;
Valor de Devolução
A duração da atividade em nanossegundos, sem incluir a quantidade de tempo gasto em atividades filho.
ExclusiveDurationTicks
const long long& ExclusiveDurationTicks() const;
Valor de Devolução
O número de tiques que ocorreram nessa atividade, excluindo o número de tiques que ocorreram em atividades filho.
ExclusiveWallClockTimeResponsibility
std::chrono::nanoseconds ExclusiveWallClockTimeResponsibility() const;
Valor de Devolução
O mesmo que WallClockTimeResponsibility, mas não incluindo a responsabilidade do tempo do relógio das atividades filho.
ExclusiveWallClockTimeResponsibilityTicks
const long long& ExclusiveWallClockTimeResponsibilityTicks() const;
Valor de Devolução
O mesmo que WallClockTimeResponsibilityTicks, mas não incluindo os tiques da responsabilidade do tempo do relógio das atividades filho.
StartTimestamp
const long long& StartTimestamp() const;
Valor de Devolução
Um valor de tique capturado no momento em que a atividade foi iniciada.
StopTimestamp
const long long& StopTimestamp() const;
Valor de Devolução
Um valor de tique capturado no momento em que a atividade foi interrompida.
WallClockTimeResponsibility
std::chrono::nanoseconds WallClockTimeResponsibility() const;
Valor de Devolução
A responsabilidade do tempo do relógio dessa atividade, em nanossegundos. Para obter mais informações sobre o que significa a responsabilidade do tempo do relógio, confira WallClockTimeResponsibilityTicks.
WallClockTimeResponsibilityTicks
const long long& WallClockTimeResponsibilityTicks() const;
Valor de Devolução
Uma contagem de tiques que representa a contribuição dessa atividade para o tempo geral do relógio de parede. Um tique de responsabilidade do tempo do relógio de parede é diferente de um tique comum. Os tiques de responsabilidade do tempo do relógio de parede levam em conta o paralelismo entre as atividades. Duas atividades paralelas podem ter uma duração de 50 tiques e a mesma hora de início e de parada. Nesse caso, ambos recebem a atribuição de uma responsabilidade de tempo de relógio de parede de 25 tiques.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de