GHC.RTS.Events
- data EventLog = EventLog {}
- data EventType = EventType {}
- data Event = Event {}
- data EventTypeSpecificInfo
- = Startup {
- n_caps :: Int
- | EventBlock {
- end_time :: Timestamp
- cap :: Int
- block_events :: [Event]
- | CreateThread { }
- | RunThread { }
- | StopThread {
- thread :: !ThreadId
- status :: ThreadStopStatus
- | ThreadRunnable { }
- | MigrateThread { }
- | RunSpark { }
- | StealSpark { }
- | CreateSparkThread {
- sparkThread :: !ThreadId
- | WakeupThread { }
- | Shutdown {
- | RequestSeqGC {
- | RequestParGC {
- | StartGC {
- | GCWork {
- | GCIdle {
- | GCDone {
- | EndGC {
- | Message {
- msg :: String
- | UserMessage {
- msg :: String
- | UnknownEvent {
- ref :: !EventTypeNum
- = Startup {
- data ThreadStopStatus
- newtype Header = Header {
- eventTypes :: [EventType]
- data Data = Data {}
- type Timestamp = Word64
- type ThreadId = Word32
- readEventLogFromFile :: FilePath -> IO (Either String EventLog)
- data CapEvent = CapEvent {}
- sortEvents :: [Event] -> [CapEvent]
- groupEvents :: [Event] -> [(Maybe Int, [Event])]
- sortGroups :: [(Maybe Int, [Event])] -> [CapEvent]
- showEventTypeSpecificInfo :: EventTypeSpecificInfo -> String
- showThreadStopStatus :: ThreadStopStatus -> String
The event log types
data Event
Constructors
Event | |
Fields
|
Instances
Show Event |
Constructors
Startup | |
Fields
| |
EventBlock | |
Fields
| |
CreateThread | |
RunThread | |
StopThread | |
Fields
| |
ThreadRunnable | |
MigrateThread | |
RunSpark | |
StealSpark | |
CreateSparkThread | |
Fields
| |
WakeupThread | |
Shutdown | |
RequestSeqGC | |
RequestParGC | |
StartGC | |
GCWork | |
GCIdle | |
GCDone | |
EndGC | |
Message | |
Fields
| |
UserMessage | |
Fields
| |
UnknownEvent | |
Fields
|
Instances
data ThreadStopStatus
Constructors
NoStatus | |
HeapOverflow | |
StackOverflow | |
ThreadYielding | |
ThreadBlocked | |
ThreadFinished | |
ForeignCall |
Instances
Enum ThreadStopStatus | |
Show ThreadStopStatus |
type Timestamp = Word64
type ThreadId = Word32
Reading an event log from a file
readEventLogFromFile :: FilePath -> IO (Either String EventLog)
Utilities
data CapEvent
An event annotated with the Capability that generated it, if any
sortEvents :: [Event] -> [CapEvent]
groupEvents :: [Event] -> [(Maybe Int, [Event])]
sortGroups :: [(Maybe Int, [Event])] -> [CapEvent]
Sort the raw event stream by time, annotating each event with the capability that generated it.
Printing
showEventTypeSpecificInfo :: EventTypeSpecificInfo -> String
showThreadStopStatus :: ThreadStopStatus -> String