Clase de la actividad
El SDK de C++ Build Insights es compatible con Visual Studio 2017 y versiones posteriores. Para ver la documentación de estas versiones, establezca el control de selector de Versión de Visual Studio para este artículo en Visual Studio 2017 o versiones posteriores. Se encuentra en la parte superior de la tabla de contenido de esta página.
La clase Activity
se usa con las funciones MatchEvent, MatchEventInMemberFunction, MatchEventStack y MatchEventStackInMemberFunction. Úsela para que coincida con cualquier evento de actividad. Consulte la tabla de eventos para ver todos los eventos que pueden coincidir con la clase Activity
.
Sintaxis
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;
};
Comentarios
Varias funciones miembro de la clase Activity
devuelven un contador. C++Build Insights usa el contador de rendimiento de Windows como un origen de tics. Un contador se debe usar con una frecuencia de tics para convertirla en una unidad de tiempo como segundos. Es posible llamar a la función miembro TickFrequency
, disponible en la clase base Event, para obtener la frecuencia de tics. En la página EVENT_DATA se muestra un ejemplo de cómo convertir tics en una unidad de tiempo.
Si el usuario no quiere convertir los tics en unidades de tiempo, la clase Activity
proporciona funciones miembro que devuelven valores de tiempo en nanosegundos. Use la biblioteca chrono
de C++ estándar para convertirlos en otras unidades de tiempo.
Miembros
Junto con sus miembros heredados de la clase base Event, la clase Activity
contiene estos miembros:
Constructor
Functions
CPUTicks
CPUTime
Duration
ExclusiveCPUTicks
ExclusiveCPUTime
ExclusiveDuration
ExclusiveDurationTicks
ExclusiveWallClockTimeResponsibility
ExclusiveWallClockTimeResponsibilityTicks
StartTimestamp
StopTimestamp
WallClockTimeResponsibility
WallClockTimeResponsibilityTicks
Actividad
Activity(const RawEvent& event);
Parámetros
event
Cualquier evento de actividad.
CPUTicks
const long long& CPUTicks() const;
Valor devuelto
El número de tics de CPU que se produjeron durante esta actividad. Un tic de CPU es diferente de un tic normal. Los tics de CPU solo se cuentan cuando la CPU ejecuta código en una actividad. Los tics de CPU no se cuentan cuando el subproceso asociado a la actividad está en suspensión.
CPUTime
std::chrono::nanoseconds CPUTime()() const;
Valor devuelto
El tiempo durante el cual la CPU ejecutó código dentro de esta actividad. Este valor puede ser mayor que la duración de la actividad si las actividades secundarias se ejecutan en subprocesos independientes. El valor se devuelve en nanosegundos.
Duration
std::chrono::nanoseconds Duration() const;
Valor devuelto
La duración de la actividad en nanosegundos.
ExclusiveCPUTicks
const long long& ExclusiveCPUTicks() const;
Valor devuelto
Igual que CPUTicks, pero sin incluir los tics de CPU que se produjeron en las actividades secundarias.
ExclusiveCPUTime
std::chrono::nanoseconds ExclusiveCPUTime() const;
Valor devuelto
Igual que CPUTime, salvo que no se incluye el tiempo de CPU de las actividades secundarias.
ExclusiveDuration
std::chrono::nanoseconds ExclusiveDuration() const;
Valor devuelto
La duración de la actividad en nanosegundos, sin incluir la cantidad de tiempo dedicado a las actividades secundarias.
ExclusiveDurationTicks
const long long& ExclusiveDurationTicks() const;
Valor devuelto
El número de tics que se produjeron en esta actividad, sin incluir el número de tics que se produjeron en las actividades secundarias.
ExclusiveWallClockTimeResponsibility
std::chrono::nanoseconds ExclusiveWallClockTimeResponsibility() const;
Valor devuelto
Igual que WallClockTimeResponsibility, pero sin incluir la responsabilidad de tiempo de reloj de las actividades secundarias.
ExclusiveWallClockTimeResponsibilityTicks
const long long& ExclusiveWallClockTimeResponsibilityTicks() const;
Valor devuelto
Igual que WallClockTimeResponsibilityTicks, pero sin incluir los tics de responsabilidad de tiempo de reloj de las actividades secundarias.
StartTimestamp
const long long& StartTimestamp() const;
Valor devuelto
Valor de tic capturado en el momento en que se inició la actividad.
StopTimestamp
const long long& StopTimestamp() const;
Valor devuelto
Valor de tic capturado en el momento en que se detuvo la actividad.
WallClockTimeResponsibility
std::chrono::nanoseconds WallClockTimeResponsibility() const;
Valor devuelto
La responsabilidad de tiempo de reloj de esta actividad en nanosegundos. Para más información sobre qué significa la responsabilidad de tiempo de reloj, consulte WallClockTimeResponsibilityTicks.
WallClockTimeResponsibilityTicks
const long long& WallClockTimeResponsibilityTicks() const;
Valor devuelto
Recuento que representa la contribución de esta actividad al tiempo de reloj general. Un tic de responsabilidad de tiempo de reloj es diferente de un tic normal. Los tics de responsabilidad de tiempo de reloj tienen en cuenta el paralelismo entre las actividades. Dos actividades paralelas pueden tener una duración de 50 tics y la misma hora de inicio y detención. En este caso, se asignará a ambas una responsabilidad de tiempo de reloj de 25 tics.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de