churf/src/GC/docs/lib/event.md
2023-03-22 13:58:27 +01:00

1.5 KiB

event.hpp & event.cpp

An event class used by the profiler to track actions on the heap.

Members

const GCEventType m_type: The type of event recorded.

const std::time_t m_timestamp: The timestamp of the event, initialized to the current time by std::time(NULL).

const Chunk *m_chunk: The chunk an event is related to. For example, in alloc when a new chunk is created, a new event is recorded with the type of NewChunk and m_chunk then contains a copied version of that new chunk. If an event is not related to a chunk this member is initialized to a nullptr.

const size_t m_size: In an AllocStart event, this member stores the amount of bytes requested to alloc. Otherwise this member is initialized to 0.

Constructors

GCEvent(GCEventType type): Used for creating events that are independent of a chunk and size (like ProfilerDispose).

GCEvent(GCEventType type, Chunk *chunk): Used for creating events that are connected to a chunk (like ChunkMarked).

GCEvent(GCEventType type, size_t size): Used for creating events that are related to a size (only AllocStart).

Destructors

~GCEvent(): Default destructor and also frees the member m_chunk if it's not the nullptr.

Functions

GCEventType get_type(): Getter for the type of the event.

std::time_t get_time_stamp(): Getter for the timestamp of the event.

const Chunk *get_chunk(): Getter for the Chunk the event is related to. The chunk data is constant.

const char *type_to_string(): Translates the type of the event to a string.