pubmodprocess_metrics;pubmodtimeout;/// Truncate `s` to at most `max_bytes` bytes, respecting UTF-8 char boundaries.
/// Returns a `&str` slice — never panics even if `s` contains multi-byte chars.
pubfntruncate_bytes(s:&str, max_bytes:usize)->&str{if s.len()<= max_bytes {return s;}// Walk back from max_bytes until we land on a char boundary.
letmut end = max_bytes;while end >0&&!s.is_char_boundary(end){
end -=1;}&s[..end]}