feat(scheduler-sim-decision-trace): store the latest trace per job and serve info trace
Task 4.2: a new trace replaces a job's earlier one; above 64 MiB the oldest traces are evicted (never the newest) and marked discarded until a newer capture; info trace renders a job's or an array's stored traces in the current units mode, or reports discarded / no trace with the job's state / unknown job. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
fe445e9453
commit
73416e3e91
6 changed files with 1130 additions and 1 deletions
|
|
@ -2735,3 +2735,24 @@ sched_trace_render_test = executable(
|
|||
test('scheduler trace render test',
|
||||
sched_trace_render_test, suite: 'scheduler',
|
||||
env: ['ASAN_OPTIONS=detect_leaks=0'])
|
||||
|
||||
# scheduler-sim-decision-trace task 4.2: the trace store and `info trace`
|
||||
# (design.md "TraceStore"; Requirements 1.7, 7.8-7.11, 9.5, 9.6).
|
||||
# Replacement, eviction at 64 MiB that never drops the newest record, the
|
||||
# three no-trace replies and arrays mixing stored and discarded elements.
|
||||
# Links the record model, the renderer, the shared REPL formatting module
|
||||
# and the store; the job table is a fixture kvmgr with sched_get_job() and
|
||||
# repl_job_state_name() defined by the test.
|
||||
sched_trace_store_test = executable(
|
||||
'sched_trace_store_test',
|
||||
['test_trace_store.c', '../src/sched_trace.c',
|
||||
'../src/sched_trace_scan.c', '../src/repl_trace_render.c',
|
||||
'../src/repl_trace_render_outcome.c', '../src/repl_fmt.c',
|
||||
'../src/repl_trace_store.c'],
|
||||
include_directories:[incdir],
|
||||
dependencies: [scheduler_test_deps],
|
||||
install: false)
|
||||
|
||||
test('scheduler trace store test',
|
||||
sched_trace_store_test, suite: 'scheduler',
|
||||
env: ['ASAN_OPTIONS=detect_leaks=0'])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue