- data EventLog = EventLog {}
- data EventType = EventType {}
- data Event = Event {}
- data EventTypeSpecificInfo
- = Startup { }
- | EventBlock { }
- | CreateThread { }
- | RunThread { }
- | StopThread {
- thread :: !ThreadId
- status :: ThreadStopStatus
- | ThreadRunnable { }
- | MigrateThread { }
- | RunSpark { }
- | StealSpark { }
- | CreateSparkThread {
- sparkThread :: !ThreadId
- | WakeupThread { }
- | Shutdown {
- | RequestSeqGC {
- | RequestParGC {
- | StartGC {
- | GCWork {
- | GCIdle {
- | GCDone {
- | EndGC {
- | Message { }
- | UserMessage { }
- | UnknownEvent {
- ref :: !EventTypeNum
- 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 EventTypeSpecificInfo Source
data ThreadStopStatus Source
Reading an event log from a file
Utilities
An event annotated with the Capability that generated it, if any
sortEvents :: [Event] -> [CapEvent]Source
sortGroups :: [(Maybe Int, [Event])] -> [CapEvent]Source
Sort the raw event stream by time, annotating each event with the capability that generated it.