unlock
Helpers for tracing and troubleshooting multithreaded code.
Usage
Import RwLock
and Mutex
from this crate instead of parking_lot
directly.
After this, you can instrument a section of code like this:
let condition = true;
if condition
/* do some work */
if condition
How does it work
This library provides two facade types:
These integrate with a high performance concurrent tracing system to capture events. While this will have some overhead, we aim to make it as small as possible.
Once a workload has been instrumented, the drain
function can be called to
collect these events, which then can be formatted using either built-in
methods such as html::write
, or serialized as you please using serde
for processing later.
Features
trace
- Enable real tracing support. If this feature is disabled, this library will be replaced by a stub that can easily be optimized away.parking_lot
(default) - Enable support forparking_lot
types. If this feature is enabled andtrace
is disabled, this will re-exportparking_lot
primitives.serde
- Enable serialization for events.