Skip to content

Latest commit

 

History

History
16 lines (12 loc) · 748 Bytes

File metadata and controls

16 lines (12 loc) · 748 Bytes

CRLOG: A fast printf-like logging engine

Motivation

The idea of crlog (which stands for CRIU logging engine) came from the fact that we need a huge pile of debug informtaion to be logged when doing checkpoint and (or) restore of containers.

Calling libc helpers increase the overall timing significantly because printf and friends are very general functions, which support a huge variety of formats and as expected parsing format strings does not come for free. Thus we need a way to save complete context of printf call and be able to parse it on demand later.

The crlog serves exactly that -- a complete printf context is saved in binary architecture dependant form and allow to decode it later.