ghc-events-0.4.0.1: Library and tool for parsing .eventlog files from GHC

Safe HaskellSafe-Inferred

GHC.RTS.Events

Contents

Synopsis

The event log types

data EventLog Source

Constructors

EventLog 

Fields

header :: Header
 
dat :: Data
 

Instances

Show EventLog 

data EventType Source

Constructors

EventType 

Fields

num :: EventTypeNum
 
desc :: EventTypeDesc
 
size :: Maybe EventTypeSize

Nothing indicates variable size

Instances

Eq EventType 
Show EventType 

data Event Source

Constructors

Event 

Fields

time :: !Timestamp
 
spec :: EventInfo
 

Instances

Show Event 

data EventInfo Source

Constructors

EventBlock 

Fields

end_time :: Timestamp
 
cap :: Int
 
block_events :: [Event]
 
UnknownEvent 

Fields

ref :: !EventTypeNum
 
Startup 

Fields

n_caps :: Int
 
Shutdown 
CreateThread 

Fields

thread :: !ThreadId
 
RunThread 

Fields

thread :: !ThreadId
 
StopThread 
ThreadRunnable 

Fields

thread :: !ThreadId
 
MigrateThread 

Fields

thread :: !ThreadId
 
newCap :: !Int
 
WakeupThread 

Fields

thread :: !ThreadId
 
otherCap :: !Int
 
ThreadLabel 

Fields

thread :: !ThreadId
 
threadlabel :: String
 
CreateSparkThread 

Fields

sparkThread :: !ThreadId
 
SparkCounters 

Fields

sparksCreated :: !Word64
 
sparksDud :: !Word64
 
sparksOverflowed :: !Word64
 
sparksConverted :: !Word64
 
sparksFizzled :: !Word64
 
sparksGCd :: !Word64
 
sparksRemaining :: !Word64
 
SparkCreate 
SparkDud 
SparkOverflow 
SparkRun 
SparkSteal 

Fields

victimCap :: !Int
 
SparkFizzle 
SparkGC 
RequestSeqGC 
RequestParGC 
StartGC 
GCWork 
GCIdle 
GCDone 
EndGC 
GlobalSyncGC 
GCStatsGHC 

Fields

heapCapset :: !Capset
 
gen :: !Int
 
copied :: !Word64
 
slop :: !Word64
 
frag :: !Word64
 
parNThreads :: !Int
 
parMaxCopied :: !Word64
 
parTotCopied :: !Word64
 
HeapAllocated 

Fields

heapCapset :: !Capset
 
allocBytes :: !Word64
 
HeapSize 

Fields

heapCapset :: !Capset
 
sizeBytes :: !Word64
 
HeapLive 

Fields

heapCapset :: !Capset
 
liveBytes :: !Word64
 
HeapInfoGHC 

Fields

heapCapset :: !Capset
 
gens :: !Int
 
maxHeapSize :: !Word64
 
allocAreaSize :: !Word64
 
mblockSize :: !Word64
 
blockSize :: !Word64
 
CapCreate 

Fields

cap :: !Int
 
CapDelete 

Fields

cap :: !Int
 
CapDisable 

Fields

cap :: !Int
 
CapEnable 

Fields

cap :: !Int
 
CapsetCreate 

Fields

capset :: !Capset
 
capsetType :: CapsetType
 
CapsetDelete 

Fields

capset :: !Capset
 
CapsetAssignCap 

Fields

capset :: !Capset
 
cap :: !Int
 
CapsetRemoveCap 

Fields

capset :: !Capset
 
cap :: !Int
 
RtsIdentifier 

Fields

capset :: !Capset
 
rtsident :: String
 
ProgramArgs 

Fields

capset :: !Capset
 
args :: [String]
 
ProgramEnv 

Fields

capset :: !Capset
 
env :: [String]
 
OsProcessPid 

Fields

capset :: !Capset
 
pid :: !Word32
 
OsProcessParentPid 

Fields

capset :: !Capset
 
ppid :: !Word32
 
WallClockTime 

Fields

capset :: !Capset
 
sec :: !Word64
 
nsec :: !Word32
 
Message 

Fields

msg :: String
 
UserMessage 

Fields

msg :: String
 
InternString 

Fields

str :: String
 
sId :: !StringId
 
MerStartParConjunction 

Fields

dyn_id :: !ParConjDynId
 
static_id :: !ParConjStaticId
 
MerEndParConjunction 

Fields

dyn_id :: !ParConjDynId
 
MerEndParConjunct 

Fields

dyn_id :: !ParConjDynId
 
MerCreateSpark 

Fields

dyn_id :: !ParConjDynId
 
spark_id :: !SparkId
 
MerFutureCreate 

Fields

future_id :: !FutureId
 
name_id :: !StringId
 
MerFutureWaitNosuspend 

Fields

future_id :: !FutureId
 
MerFutureWaitSuspended 

Fields

future_id :: !FutureId
 
MerFutureSignal 

Fields

future_id :: !FutureId
 
MerLookingForGlobalThread 
MerWorkStealing 
MerLookingForLocalSpark 
MerReleaseThread 

Fields

thread_id :: !ThreadId
 
MerCapSleeping 
MerCallingMain 

Instances

Show EventInfo 

newtype Header Source

Constructors

Header 

Fields

eventTypes :: [EventType]
 

Instances

Eq Header 
Show Header 

data Data Source

Constructors

Data 

Fields

events :: [Event]
 

Instances

Show Data 

type Timestamp = Word64Source

type ThreadId = Word32Source

Reading and writing event logs

readEventLogFromFile :: FilePath -> IO (Either String EventLog)Source

writeEventLogToFile :: FilePath -> EventLog -> IO ()Source

Utilities

data CapEvent Source

An event annotated with the Capability that generated it, if any

Constructors

CapEvent 

Fields

ce_cap :: Maybe Int
 
ce_event :: Event
 

Instances

Show CapEvent 

groupEvents :: [Event] -> [(Maybe Int, [Event])]Source

sortGroups :: [(Maybe Int, [Event])] -> [CapEvent]Source

Sort the raw event stream by time, annotating each event with the capability that generated it.

Printing

ppEvent :: IntMap EventType -> CapEvent -> StringSource