apple / apple/foundationdb

Separate the concepts of trace event rolling and trace event querying

Open
#3,286 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
16.7k
Forks
1.6k
Avg merge
1d 20h
Merged PRs (30d)
126

Description

Right now, a single feature (`.trackLatest()`) is used for two purposes:

1. Causing a trace event to be rolled when new files are created
2. Caching a trace event so that other processes can query for it (e.g. by status)

I believe it is the case that a number of the trace events where we use this feature do so only for one of these purposes and not the other. In particular, trace events where we only want #_2_ create unneeded log entries because of #_1_.

We should consider separating these two concepts and using only the ones we need for each trace event.

Contributor guide

Open the contributing guide

Research direction

Start by locating the implementation of `.trackLatest()` and its trace-event call sites. Review which events need rolling when new files are created versus caching for queries, then confirm that each event uses only the required behavior and that existing trace-event querying and rolling tests still pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
databases, distributed-systems
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.