Despiker

Despiker front-end, designed to be trivially controlled through a GUI.

The Despiker class provides methods that should directly be called from the GUI (e.g. from button presses), so that GUI implementation can be as simple as possible.

Constructors

this
this(ProfDataSource dataSource)

Construct the Despiker.

Destructor

~this
~this()

Destroy the Despiker. Must be destroyed manually to free any threads, files, etc.

Members

Enums

Mode
enum Mode

Despiker 'modes', i.e. what the user is doing with Despiker.

Functions

currentFrameView
FrameView!Events currentFrameView()

Get the 'view' of the current frame.

frame
void frame(size_t rhs)

Set view to the frame with specified index (clamped to frameCount - 1).

frame
size_t frame()

Get the index of the currently viewed frame. If there are 0 frames, returns size_t.max.

frameCount
size_t frameCount()

Get the number of frames for which we have profiling data from all threads.

mode
Mode mode()

Get the current despiker mode.

nextFrame
void nextFrame()

Move to the next frame in manual mode. If newest frame mode, acts as pause().

pause
void pause()

Set mode to 'manual', pausing at the current frame. In manual mode, does nothing.

previousFrame
void previousFrame()

Move to the previous frame in manual mode. If newest frame mode, acts as pause().

resume
void resume()

Resume viewing current frame. (NewestFrame mode). Ignored if we're already doing so.

update
void update()

Update Despiker. Processes newly received profile data.

worstFrame
void worstFrame()

Find and view the worst frame so far.

Variables

frameInfo
string frameInfo;

Zones with info equal to this string (and matching nest level) are considered frames.

frameNestLevel
ushort frameNestLevel;

Zones with nest level equal to this string (and matching info) are considered frames.

maxChunksPerUpdate
uint maxChunksPerUpdate;

Maximum number of profiling data chunks to receive on an update.

Meta