| Crates.io | ring-file |
| lib.rs | ring-file |
| version | 0.3.1 |
| created_at | 2025-07-28 20:25:13.490837+00 |
| updated_at | 2025-09-07 23:59:39.327565+00 |
| description | A debugging tool with ring buffer like file struture, for high-performance code development |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1771528 |
| size | 19,888 |
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.