Faster traceEvent and traceMarker, and binary object logging for eventlog.
ghc-trace-events provides faster traceEvent and traceMarker as well as arbitrary binary object logging for the eventlog framework. Unlike the eventlog tracing functions in base, all the tracing functions in this library don't evaluate the input if user event logging (the -lu flag) is disabled, which can give a significant boost in performance. Take a look at the benchmark suite for the details.
This library provies the following modules:
Debug.Trace.String
Drop-in replacement for the event tracing functions in
Debug.Trace
.Debug.Trace.ByteString
UTF-8 encoded
ByteString
variant of the event tracing functions inDebug.Trace
. It's faster than theString
variant.Debug.Trace.Text
Text
variant of the event tracing functions inDebug.Trace
. It's faster than theString
variant.Debug.Trace.Binary
Arbitary binary object logging available for GHC 8.8 or later. Unlike the other tracing functions
Debug.Trace.Binary.traceBinaryEvent
takes an arbitraryByteString
object as opposed to a UTF-8 encoded string.