| Safe Haskell | Safe-Inferred |
|---|
Profiling.Heap.Process
Description
This is a utility module to aid the construction of
CreateProcess structures with profiling parameters.
- data ProfParam
- data Breakdown
- = BCostCentreStack
- | BModule
- | BDescription
- | BType
- | BRetainer
- | BBiography
- data Restriction
- = RCCStackTop
- | RCCStackAny
- | RModule
- | RDescription
- | RType
- | RRetainer
- | RBiography
- processToProfile :: FilePath -> Maybe FilePath -> [String] -> [ProfParam] -> CreateProcess
Documentation
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. |
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). |
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
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.