8 releases
| 0.3.1 | Sep 7, 2025 |
|---|---|
| 0.3.0 | Sep 7, 2025 |
| 0.2.3 | Sep 6, 2025 |
| 0.1.2 | Jul 31, 2025 |
| 0.0.1 |
|
#465 in Debugging
700 downloads per month
Used in 3 crates
(via captains-log)
9KB
138 lines
RingFile
The purpose of this tool is to help debug deadlock problems, that only occur under high-performance scenarios. Because writing log to disk will slow down execution, which makes deadlock hidden without racing conditions met.
This crate provides two abstraction:
RingBuffer: to store byte content in memory when written.
when offset rewinds, new content will overwrite old content,
so that memory consumption is limited to buf_size.
RingFile: to record log content in memory for multi-threaded program. Act as an observer to
analyze concurrency problem. It maintain thread local buffer to avoid lock contention.
Already integrated into captain-log as LogRingFile sink.
Dependencies
~2.5MB
~52K SLoC