Add --log/--remote-log diagnostic tracing for stalled transfers
Adds an optional timestamped trace of transfer-relevant events (tail position vs. file length, rename detection, finalize, protocol send/recv) to both the client and server sides, so a stalled transfer can be diagnosed from correlated local/remote logs instead of guessing. Notably logs when a source's final size ends up smaller than what was already read (pos > current_len after rename) -- this can never satisfy the pos == current_len finalize condition, which is a real deadlock risk for writers that preallocate a fixed-size file and truncate down to the actual capture length before renaming. --log <path> on either the client or `--server` process traces that process's own events. --log on ClientCli is local-only; --remote-log <path> is forwarded as the spawned --server process's --log so both sides of a remote transfer leave a trace, tied together by timestamp.
This commit is contained in:
@@ -8,6 +8,7 @@ mod protocol;
|
||||
mod server;
|
||||
mod ssh;
|
||||
mod tail;
|
||||
mod tracelog;
|
||||
mod zstd_frame;
|
||||
|
||||
use clap::Parser;
|
||||
|
||||
Reference in New Issue
Block a user