@@ -90,29 +90,34 @@ papered over. `post-validate` has the same shape: Elysia uses its `t` schema,
9090Hono a hand-written check behind its own ` validator() ` seam, and both are
9191cheaper than a compiled rule set.
9292
93- The fixture includes ` query_logs ` and its indexes, so stock Stacks query logging
94- performs successful writes. Those writes are part of the database workload;
95- the bare SQLite targets do not provide query logging. Accumulated logs are
96- cleared before each repetition, outside warm-up and measurement, while the
97- seeded read data stays unchanged. Results from the earlier fixture without
98- ` query_logs ` measured failed logging writes and are not comparable.
93+ The fixture includes ` query_logs ` and its indexes, but persistent query history
94+ is disabled by default in production. This keeps the stock database scenario
95+ focused on the request and read path shared by every target. Request-scoped
96+ query tracking remains active for Stacks error diagnostics.
97+
98+ Set ` DB_QUERY_LOGGING_ENABLED=true ` to include durable query history in the
99+ workload. The bare SQLite targets do not provide an equivalent logger, so treat
100+ that run as an observability-cost profile rather than a like-for-like database
101+ comparison. Accumulated logs are cleared before each repetition, outside
102+ warm-up and measurement, while the seeded read data stays unchanged.
99103
100104A former process-wide recursion guard could also skip legitimate queries while a
101105log write was pending. Logging now suppresses only queries descended from its
102106own write, with warm sequential and concurrent persistence checks. Database
103107results from before that correction should be rerun because they may include
104108less logging work.
105109
106- Before measuring a Stacks database scenario , the parity probe clears old logs
107- and waits for a successful log of its benchmark SELECT. Disabled or failing
108- query logging aborts the run instead of producing a faster, incomplete workload.
109- This check runs outside warm-up and measurement.
110+ When persistent logging is explicitly enabled , the parity probe clears old logs
111+ and waits for a successful log of its benchmark SELECT. Failing query logging
112+ then aborts the run instead of producing a faster, incomplete workload. This
113+ check runs outside warm-up and measurement.
110114
111- With ` oha ` or ` builtin ` , each Stacks database load run also verifies that the successful
112- persisted SELECT count matches the total warmup and measured request count. A
113- count mismatch, request errors, or an empty measured load aborts the run. Counting
114- happens after CPU sampling, outside the timed window. Raw warmup output and a
115- ` --persistence.json ` sidecar record the request counts used by this check.
115+ With ` oha ` or ` builtin ` and persistent logging enabled, each Stacks database
116+ load run also verifies that the successful persisted SELECT count matches the
117+ total warmup and measured request count. A count mismatch, request errors, or
118+ an empty measured load aborts the run. Counting happens after CPU sampling,
119+ outside the timed window. Raw warmup output and a ` --persistence.json ` sidecar
120+ record the request counts used by this check.
116121
117122Other drivers do not guarantee that their response counts include every in-flight
118123request at the deadline. Their sidecars explicitly mark aggregate persistence
@@ -139,7 +144,7 @@ equivalent guarantees or it says plainly which profile produced the number.
139144
140145The opt-in ` stacks-wal-full ` target measures a configured SQLite deployment:
1411461000-page WAL checkpoints and ` synchronous=FULL ` , with the same security,
142- validation, query logging , and cookie behavior as ` stacks-warm ` . It verifies
147+ validation, query-tracking , and cookie behavior as ` stacks-warm ` . It verifies
143148both SQLite settings before listening. Run it explicitly:
144149
145150``` bash
0 commit comments