- 18 Jul, 2011 2 commits
-
-
Duncan Coutts authored
Previously GC was included in the scheduler trace class. It can be enabled specifically with +RTS -vg or -lg, though note that both -v and -l on their own now default to a sensible set of trace classes, currently: scheduler, gc and sparks.
-
Duncan Coutts authored
A new eventlog event containing 7 spark counters/statistics: sparks created, dud, overflowed, converted, GC'd, fizzled and remaining. These are maintained and logged separately for each capability. We log them at startup, on each GC (minor and major) and on shutdown.
-
- 29 May, 2011 1 commit
-
-
Duncan Coutts authored
A missing ';' that just happened to work fine on non-windows due to differing definitions of the ACQUIRE_LOCK macro.
-
- 26 May, 2011 3 commits
-
-
Duncan Coutts authored
The process ID, parent process ID, rts name and version The program arguments and environment.
-
Duncan Coutts authored
We trace the creation and shutdown of capabilities. All the capabilities in the process are assigned to one capabilitiy set of OS-process type. This is a second version of the patch. Includes work by Spencer Janssen.
-
Duncan Coutts authored
Rather than doing it differently for the eventlog and Dtrace cases.
-
- 22 May, 2011 1 commit
-
-
Duncan Coutts authored
This reverts commit 58532eb4. Turns out it didn't work on Windows and it'll need some non-trivial changes to make it work on Windows. We'll get it in later once that's sorted out.
-
- 18 May, 2011 1 commit
-
-
Spencer Janssen authored
-
- 27 Jan, 2011 1 commit
-
-
Simon Marlow authored
So we can now get these in ThreadScope: 19487000: cap 1: stopping thread 6 (blocked on black hole owned by thread 4) Note: needs an update to ghc-events. Older ThreadScopes will just ignore the new information.
-
- 10 Dec, 2010 1 commit
-
-
Simon Marlow authored
-
- 03 Dec, 2010 1 commit
-
- 05 Nov, 2010 1 commit
-
-
scpmw@leeds.ac.uk authored
-
- 14 May, 2010 1 commit
-
-
Simon Marlow authored
-
- 26 Feb, 2010 1 commit
-
-
Simon Marlow authored
-
- 12 Dec, 2009 1 commit
-
-
chak@cse.unsw.edu.au. authored
- Defines a DTrace provider, called 'HaskellEvent', that provides a probe for every event of the eventlog framework. - In contrast to the original eventlog, the DTrace probes are available in all flavours of the runtime system (DTrace probes have virtually no overhead if not enabled); when -DTRACING is defined both the regular event log as well as DTrace probes can be used. - Currently, Mac OS X only. User-space DTrace probes are implemented differently on Mac OS X than in the original DTrace implementation. Nevertheless, it shouldn't be too hard to enable these probes on other platforms, too. - Documentation is at http://hackage.haskell.org/trac/ghc/wiki/DTrace
-
- 15 Oct, 2009 1 commit
-
-
Simon Marlow authored
-
- 25 Sep, 2009 1 commit
-
-
Simon Marlow authored
added: primop TraceEventOp "traceEvent#" GenPrimOp Addr# -> State# s -> State# s { Emits an event via the RTS tracing framework. The contents of the event is the zero-terminated byte string passed as the first argument. The event will be emitted either to the .eventlog file, or to stderr, depending on the runtime RTS flags. } and added the required RTS functionality to support it. Also a bit of refactoring in the RTS tracing code.
-
- 16 Sep, 2009 1 commit
-
-
Simon Marlow authored
-
- 15 Sep, 2009 1 commit
-
-
Simon Marlow authored
This makes events smaller and tracing quicker, and speeds up reading and sorting the trace file. HEADS UP: this changes the format of event log files. Corresponding changes to the ghc-events package are required (and will be pushed soon). Normally we would make backwards-compatible changes, but this changes the format of every event (to remove the capability) so I'm breaking the rules this time. This will be the only time we can do this, since the format becomes public in 6.12.1.
-
- 13 Sep, 2009 1 commit
-
-
Simon Marlow authored
These indicate the size and time span of a sequence of events in the event log, to make it easier to sort and navigate a large event log.
-
- 29 Aug, 2009 1 commit
-
-
Simon Marlow authored
- tracing facilities are now enabled with -DTRACING, and -DDEBUG additionally enables debug-tracing. -DEVENTLOG has been removed. - -debug now implies -eventlog - events can be printed to stderr instead of being sent to the binary .eventlog file by adding +RTS -v (which is implied by the +RTS -Dx options). - -Dx debug messages can be sent to the binary .eventlog file by adding +RTS -l. This should help debugging by reducing the impact of debug tracing on execution time. - Various debug messages that duplicated the information in events have been removed.
-
- 03 Aug, 2009 1 commit
-
-
Simon Marlow authored
-
- 04 Aug, 2009 1 commit
-
-
Simon Marlow authored
-
- 02 Aug, 2009 1 commit
-
-
Simon Marlow authored
The first phase of this tidyup is focussed on the header files, and in particular making sure we are exposinng publicly exactly what we need to, and no more. - Rts.h now includes everything that the RTS exposes publicly, rather than a random subset of it. - Most of the public header files have moved into subdirectories, and many of them have been renamed. But clients should not need to include any of the other headers directly, just #include the main public headers: Rts.h, HsFFI.h, RtsAPI.h. - All the headers needed for via-C compilation have moved into the stg subdirectory, which is self-contained. Most of the headers for the rest of the RTS APIs have moved into the rts subdirectory. - I left MachDeps.h where it is, because it is so widely used in Haskell code. - I left a deprecated stub for RtsFlags.h in place. The flag structures are now exposed by Rts.h. - Various internal APIs are no longer exposed by public header files. - Various bits of dead code and declarations have been removed - More gcc warnings are turned on, and the RTS code is more warning-clean. - More source files #include "PosixSource.h", and hence only use standard POSIX (1003.1c-1995) interfaces. There is a lot more tidying up still to do, this is just the first pass. I also intend to standardise the names for external RTS APIs (e.g use the rts_ prefix consistently), and declare the internal APIs as hidden for shared libraries.
-
- 23 Apr, 2009 1 commit
-
-
Simon Marlow authored
Also some tidyups and renaming
-
- 13 Apr, 2009 4 commits
-
-
donnie@darthik.com authored
postEventTypeID was used to post event marker IDs, but instead we just call postWord16 directly; thus, this function is unused.
-
donnie@darthik.com authored
-
donnie@darthik.com authored
StgWord64 other better represents this argument since it can be used as any particular data, thus "other" and not the "from" capability as it was previously strictly used. Also, StgWord64 is normally larger than type nat to allow for larger data to be passed through the "other" argument.
-
donnie@darthik.com authored
Fixed ThreadID to be defined as StgThreadID, not StgWord64. Changed CapabilityNum to CapNo. Added helper functions postCapNo() and postThreadID(). ThreadID was StgWord64, but should have been StgThreadID, which is currently StgWord32. Changed name from CapabilityNum to CapNo to better reflect naming in Capability struct where "no" is the capability number. Modified EventLog.c to use the helper functions postCapNo() and postThreadID () for CapNo and ThreadID.
-
- 03 Apr, 2009 2 commits
-
-
donnie@darthik.com authored
EventTypeDescriptions order must be synchronized with the event type definitions in includes/EventLogFormat.h for the definitions to correctly index with the matching description.
-
donnie@darthik.com authored
-
- 19 Mar, 2009 1 commit
-
-
Simon Marlow authored
-
- 17 Mar, 2009 1 commit
-
-
Simon Marlow authored
Generate binary log files from the RTS containing a log of runtime events with timestamps. The log file can be visualised in various ways, for investigating runtime behaviour and debugging performance problems. See for example the forthcoming ThreadScope viewer. New GHC option: -eventlog (link-time option) Enables event logging. +RTS -l (runtime option) Generates <prog>.eventlog with the binary event information. This replaces some of the tracing machinery we already had in the RTS: e.g. +RTS -vg for GC tracing (we should do this using the new event logging instead). Event logging has almost no runtime cost when it isn't enabled, though in the future we might add more fine-grained events and this might change; hence having a link-time option and compiling a separate version of the RTS for event logging. There's a small runtime cost for enabling event-logging, for most programs it shouldn't make much difference. (Todo: docs)
-