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

Actividad

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.