I'm curious about the performance overhead compared to standard containers. For use cases like automated code review or testing pipelines, being able to snapshot the exact state mid-execution could save a lot of time debugging flaky tests.
Are there any limitations on what can be checkpointed? I'm thinking about scenarios with open network connections or complex multi-process applications.
Checkpoints track anything written to a filesystem block, so pretty much only external state (remote DBs, etc) can't be rolled back this way. If you run your DB in the same sprite as the service that uses it, checkpoints will capture the state of both.