[GHC] #11950: Eventlog should include delimiters showing when the process writes to the .eventlog file

GHC ghc-devs at haskell.org
Tue Apr 19 09:28:54 UTC 2016


#11950: Eventlog should include delimiters showing when the process writes to the
.eventlog file
-------------------------------------+-------------------------------------
           Reporter:  JamesFisher    |             Owner:
               Type:  feature        |            Status:  new
  request                            |
           Priority:  normal         |         Milestone:
          Component:  Runtime        |           Version:  7.10.3
  System                             |
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 Quoting a comment I just added at
 https://ghc.haskell.org/trac/ghc/wiki/EventLog#Limitations :

 > Event logging can produce "observer effects". In particular, programs
 can pause while writing to the `.eventlog` file. These display in
 Threadscope as periods of 100% CPU use with no obvious cause. This effect
 is exacerbated by heavy use of debug tools which expand the eventlog file,
 such as `Trace.traceMarkerIO`. (This effect was at least seen on OS X. In
 an extreme case, a program doing nothing but writing 200,000 trace
 markers, which took 120 ms to run, showed a single 10ms pause in the
 middle to write them to the `.eventlog` file. These periods were shown to
 be due to writing the `.eventlog` file by using `dtruss -a`, which shows
 long periods of `write_nocancel` syscalls, writing to the `.eventlog` file
 opened earlier with `open_nocancel`.)

 This behavior caused a few hours of investigation for us. It would make it
 much more obvious what is happening if this behavior were logged in the
 eventlog. Specifically, I would like for the eventlog to include a
 "starting writing eventlog file" event at the start of each of these
 periods, and a "stopped" event at the end of each period.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11950>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list