apple / apple/foundationdb

Provide a way to disable metrics logs in simulation

Open
#3,578 4 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
16.7k
Forks
1.6k
Avg merge
1d 20h
Merged PRs (30d)
126

Description

When debugging timeouts in simulation, the trace log file contains a lot of repeated metrics loggings, like `ProcessMetrics` or `MachineMetrics`, that in most cases would lower the signal to noise ratio a lot. By providing a way to disable metrics logs in simulation, it's easier to locate the phase where the code got stuck by reading the trace files.

Maybe we can simply add a new server knob that could be set via the simulation start command that would basically disable the `systemMonitor()` call done in `workerServer()` if the program is in simulated mode.

Contributor guide

Open the contributing guide

Research direction

Start at the workerServer() path and inspect the systemMonitor() call when the program is in simulated mode. Trace how simulation start-command server knobs are defined and passed through. Done means a simulation option suppresses ProcessMetrics and MachineMetrics trace logging without changing normal-mode monitoring; verify with the relevant simulation trace output.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
distributed-systems, observability
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.