The traceBinaryEvent function behaves like traceEvent but with the difference that the message is a binary object rather than a UTF-8 encoded string.
It is suitable for use in pure code. In an IO context use traceBinaryEventIO instead.
Note that when using GHC's SMP runtime, it is possible (but rare) to get duplicate events emitted if two CPUs simultaneously evaluate the same thunk that uses traceBinaryEvent.
Also note that this function doesn't evaluate the ByteString if user tracing in evnetlog is disabled.
The input should be shorter than 2^{16} bytes. Otherwise the RTS
generates a broken eventlog.