Runtime Tuning and Notes
Intended Defaults
The intended production posture is:
keep profiling available
keep the startup/readiness/address-book scaling fixes enabled
keep normal logging compact
Logs to Keep Visible
These signals should remain visible at normal operational verbosity:
provider registration completed after <us>first successful parent rpc_... completed after <us> since provider startupwarnings, errors, and readiness timeouts
Logging Level Required for Startup Timing
These retained startup timing lines are emitted through LOG(INFO) in the
current Copper source. That means they are not visible at -l 0.
To see:
provider registration completed after <us>first successful parent rpc_... completed after <us> since provider startup
use at least:
-l 4
In the current log-level mapping:
-l 0disables logging-l 1through-l 3do not retainINFOlines-l 4is the first level that includesINFO-l 5enables the more debug-heavy output
For scale tests that only need startup timing and readiness visibility without
restoring the full debug-phase chatter, -l 4 is the intended setting.
Logging Levels at a Glance
Copper uses a user-facing -l / -log_level setting to control how much
of the internal logger is retained.
User level |
Meaning |
Typical use |
Example visibility |
|---|---|---|---|
|
no logging |
near-silent production run |
suppresses retained startup timing lines |
|
fatal only |
crash-only visibility |
only severe termination-level failures |
|
error and fatal |
error-focused troubleshooting |
startup failures, hard RPC failures, address-book errors |
|
warning, error, and fatal |
non-fatal issue diagnosis |
warnings, errors, readiness timeouts |
|
info, warning, error, and fatal |
startup timing and scale studies |
|
|
debug-heavy / most logging |
deep runtime debugging |
debug chatter, repeated coordination details, cache-path details |
For practical use:
use
-l 4when the goal is to measure Copper startup and readiness timinguse
-l 5when investigating a startup race, parent-readiness behavior, or detailed cache-path flowuse
-l 0when a production run should remain quiet and the timing lines are not needed
Example Startup Visibility
At -l 4, the compact startup path is expected to retain lines such as:
starting thallium engineengine startedusing network type: ...server running at address: ...provider registration completed after ...first successful parent rpc_... completed after ...
At -l 0, those same lines are suppressed.
Operational Meaning of the Retained Timing Lines
These two timing lines are the compact production signals for when Copper has become usable at startup scale:
provider registration completed after <us>The local rank finished its own provider setup. This is the local registration-complete time for that rank.
first successful parent rpc_... completed after <us> since provider startupThe rank completed its first successful parent-directed RPC after provider startup. This is the practical readiness signal that the rank has advanced beyond local startup and has successfully entered the parent-connected service path.
For startup studies, it is reasonable to treat the second line as the compact
ready time for the distributed Copper service path.
Logs to Demote
Hot-path provider chatter should remain at debug-scale or higher-verbosity levels rather than normal operational visibility.
Examples include:
repeated requester-address logging
repeated cache-hit chatter
repeated path coordination chatter
Address-Book Provenance
When discover mode is used, retain both of the following artifacts:
logs/copper_address_book.txtlogs/copper_address_book_full_output.txt
The raw full-output file is the authoritative provenance record for what the discovery helper observed on the allocation.
Conda Environment Note
When a personal Conda environment is used through Copper, prepend
/tmp/${USER}/copper/ only to the path used with conda activate.