fix: disallow invalid utf8 path name

fix: use SystemTime instead of Duration for Tain

fix: reorder exit_code and signal_number

BREAKING CHANGE: add _ in names and reorder metrics

feat: add updownsince and readysince seconds

refactor: simplify the Writer

BREAKING CHANGE: make escape and SvStatus private

style: format code

perf: use two passes to minimize allocations

fix: escape service name

chore: initial commit