eventlog-live-0.3.0.0: Live processing of eventlog data.
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

GHC.Eventlog.Live.Machine.Analysis.Heap

Description

 
Synopsis

Heap Usage

processHeapAllocatedData :: Process (WithStartTime Event) (Metric Word64) Source #

This machine processes HeapAllocated events into metrics.

processHeapSizeData :: Process (WithStartTime Event) (Metric Word64) Source #

This machine processes HeapSize events into metrics.

processBlocksSizeData :: Process (WithStartTime Event) (Metric Word64) Source #

This machine processes BlocksSize events into metrics.

processHeapLiveData :: Process (WithStartTime Event) (Metric Word64) Source #

This machine processes HeapLive events into metrics.

data MemReturnData Source #

The type of data associated with a MemReturn event.

Constructors

MemReturnData 

Fields

  • current :: !Word32

    The number of megablocks currently allocated.

  • needed :: !Word32

    The number of megablocks currently needed.

  • returned :: !Word32

    The number of megablocks currently being returned to the OS.

processMemReturnData :: Process (WithStartTime Event) (Metric MemReturnData) Source #

This machine processes MemReturn events into metrics.

processHeapProfSampleData :: forall (m :: Type -> Type). MonadIO m => Verbosity -> Maybe HeapProfBreakdown -> ProcessT m (WithStartTime Event) (Metric Word64) Source #

This machine processes HeapProfSampleString events into metrics. Furthermore, it processes the HeapProfBegin and ProgramArgs events to determine the heap profile breakdown, processes InfoTableProv events to build an info table map, if necessary, and processes HeapProfSampleBegin and HeapProfSampleEnd events to maintain an era stack.

Heap Profile Breakdown

heapProfBreakdownEitherReader :: String -> Either String HeapProfBreakdown Source #

Parses the HeapProfBreakdown command-line arguments:

heapProfBreakdownEitherReader "T" == Left HeapProfBreakdownClosureType
heapProfBreakdownEitherReader "c" == Left HeapProfBreakdownCostCentre
heapProfBreakdownEitherReader "m" == Left HeapProfBreakdownModule
heapProfBreakdownEitherReader "d" == Left HeapProfBreakdownClosureDescr
heapProfBreakdownEitherReader "y" == Left HeapProfBreakdownTypeDescr
heapProfBreakdownEitherReader "e" == Left HeapProfBreakdownEra
heapProfBreakdownEitherReader "r" == Left HeapProfBreakdownRetainer
heapProfBreakdownEitherReader "b" == Left HeapProfBreakdownBiography
heapProfBreakdownEitherReader "i" == Left HeapProfBreakdownInfoTable

heapProfBreakdownShow :: HeapProfBreakdown -> String Source #

Shows a HeapProfBreakdown as its corresponding command-line flag:

heapProfBreakdownShow HeapProfBreakdownClosureType == "-hT"
heapProfBreakdownShow HeapProfBreakdownCostCentre == "-hc"
heapProfBreakdownShow HeapProfBreakdownModule == "-hm"
heapProfBreakdownShow HeapProfBreakdownClosureDescr == "-hd"
heapProfBreakdownShow HeapProfBreakdownTypeDescr == "-hy"
heapProfBreakdownShow HeapProfBreakdownEra == "-he"
heapProfBreakdownShow HeapProfBreakdownRetainer == "-hr"
heapProfBreakdownShow HeapProfBreakdownBiography == "-hb"
heapProfBreakdownShow HeapProfBreakdownInfoTable == "-hi"