hp2any-core-0.10.1: Heap profiling helper library

Profiling.Heap.Process

Description

This is a utility module to aid the construction of CreateProcess structures with profiling parameters.

Synopsis

Documentation

data ProfParam Source

The possible types of parameters.

Constructors

PPBreakdown Breakdown

The type of breakdown.

PPRestriction Restriction [String]

An additional filter on the runtime side.

PPInterval Float

Sampling interval in seconds.

PPIncludeThreads

Whether to include memory taken up by threads.

PPNameLength Int

The maximum length of cost centre stack names.

PPRetainerLimit Int

Retainer set size limit.

Instances

data Breakdown Source

The possible types of breakdowns.

Constructors

BCostCentreStack

Breakdown by cost centre stack (origin of the data).

BModule

Breakdown by module (code responsible for the data).

BDescription

Breakdown by closure description (constructor name or some unique identifier).

BType

Breakdown by type (or an approximation if it is not known exactly).

BRetainer

Breakdown by retainer set (effectively the entities that hold a direct reference to the data in question).

BBiography

Breakdown by biography (phase of an object's lifetime).

Instances

data Restriction Source

The possible filters. Note that these are imposed by the runtime, so we cannot override them on the application side.

Constructors

RCCStackTop

Show only closures with one of the given names on the top of the cost centre stack.

RCCStackAny

Show only closures with one of the given names somewhere in the cost centre stack.

RModule

Show only closures produced by one of the given modules.

RDescription

Show only closures with a description that matches one of the given names.

RType

Show only closures with one of the given types.

RRetainer

Show only closures with retainer sets that contain at least one cost centre stack with a given name on the top.

RBiography

Show only closures with one of the specified biographies, which must come from the set {lag, drag, void, use}.

Instances

processToProfileSource

Arguments

:: FilePath

The executable to profile (relative paths start from the working directory).

-> Maybe FilePath

An optional working directory (inherited from the parent if not given).

-> [String]

The list of parameters to pass to the program.

-> [ProfParam]

Profiling parameters.

-> CreateProcess

The resulting structure.

A helper function to create a CreateProcess structure.