rr-debugger / rr-debugger/rr

improve data handling

Open
#1,736 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
10.7k
Forks
662
Avg merge
2d 3h
Merged PRs (30d)
2

Description

I want to write a proof of concept to improve the data handling of rr. My idea is to use a fuse file system that transparently does the compression and simply mmap the data areas. The compression algorithm should handle random reads well. This would remove the need to copy around and decomprress whole data when not needed. Transparently caching the uncompressed data.

It should not be too much work but I don't know the implementation of rr very well. Is there some document that describes the (data handling) process of rr during record and replay. An overview to when data read/write/compress/decomress/clone does happen would help.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files or tests. Start by documenting rr's record and replay data flow, including when data is read, written, compressed, decompressed, and cloned; done means a newcomer can follow those stages and assess the FUSE/mmap proof of concept.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux
Domain
operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.