Cpu perf (#2596)
* break when there's nothing to read Signed-off-by: Wang, Yi A <yi.a.wang@intel.com> * Different approach, only listen on stdin when `LOG_LEVEL=debug` (which is where dropping to a debugger is important). --------- Signed-off-by: Wang, Yi A <yi.a.wang@intel.com> Co-authored-by: Wang, Yi A <yi.a.wang@intel.com>
This commit is contained in:
parent
ce28ee88d5
commit
3ea82d008c
|
@ -944,17 +944,19 @@ fn shard_manager(
|
|||
}
|
||||
});
|
||||
// We read stdin in another thread as it seems that lines() can block in some cases
|
||||
thread::spawn(move || {
|
||||
let mut stdin = io::stdin(); // We get `Stdin` here.
|
||||
loop {
|
||||
let mut buffer = vec![0; 4096];
|
||||
if let Ok(n) = stdin.read(&mut buffer) {
|
||||
if n > 0 {
|
||||
let _ = pstdin.write_all(&buffer[..n]);
|
||||
if LevelFilter::current() >= tracing::Level::DEBUG {
|
||||
thread::spawn(move || {
|
||||
let mut stdin = io::stdin(); // We get `Stdin` here.
|
||||
loop {
|
||||
let mut buffer = vec![0; 4096];
|
||||
if let Ok(n) = stdin.read(&mut buffer) {
|
||||
if n > 0 {
|
||||
let _ = pstdin.write_all(&buffer[..n]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
let mut ready = false;
|
||||
let start_time = Instant::now();
|
||||
|
|
Loading…
Reference in New Issue