For now, access logs are produced by formatting diverse pieces of data, like socket addresses, tags, and so on. std::fmt::Display is implemented for those types, however, calling to_string() on those is CPU-consuming.
It would be beneficiary to produce access logs in a binary format, in order to reduce both formatting time and memory footprint.
Ideally, the binary format would be defined in a protobuf form, like most other types used outside of Sōzu, but this poses the challenge of expressing types like std::net::Socketddr in protobuf.
For now, access logs are produced by formatting diverse pieces of data, like socket addresses, tags, and so on.
std::fmt::Display
is implemented for those types, however, callingto_string()
on those is CPU-consuming.It would be beneficiary to produce access logs in a binary format, in order to reduce both formatting time and memory footprint.
Ideally, the binary format would be defined in a protobuf form, like most other types used outside of Sōzu, but this poses the challenge of expressing types like
std::net::Socketddr
in protobuf.