You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 7529736
Browse filesBrowse the repository at this point in the historyBrowse files
feat: report storage snapshots and total benchmark timing
Capture all database sizes and top 100 tables and indexes before and after each workload. Wait for OS sampling to finish before the after snapshot so size queries do not contaminate the final samples.
Preserve storage evidence in JOIN reports, show start and finish timestamps and total duration, expand key report items, and document the collection sequence. Keep version 0.4.0.
The command timeout applies independently to initialization and workload
243
+
The command timeout applies independently to initialization, `VACUUM ANALYZE`, and workload
244
244
commands. It must be longer than the expected command duration.
245
245
246
246
### Workload placeholders
@@ -288,7 +288,7 @@ several SQL statements or transactions. The default HTAP reporting share is
288
288
| Data volume |`--workload-scale SCALE`, default `1`; positive fractional values such as `0.25` are accepted. Generators retain minimum table sizes at small scales. |
289
289
| Concurrent clients |`--pgbench-clients 1,2,4,8,16`; each value gets a freshly recreated database. Bundled commands also use one pgbench job per client. |
290
290
| Measured window per point |`--workload-duration-seconds 120`; overrides the profile default for every client count. |
291
-
| Command time limit |`--command-timeout 300`; allow enough time for initialization and for the workload window plus completion of in-flight queries. |
291
+
| Command time limit |`--command-timeout 300`; allow enough time for initialization, pre-workload `VACUUM ANALYZE`, and the workload window plus completion of in-flight queries. |
292
292
293
293
Bundled profiles require `--pgbench-clients`; `--pgbench-time` is rejected.
294
294
They select benchmark type `custom` automatically. `--workload-path` cannot be
@@ -496,9 +496,11 @@ For each axis value in the regular mode without Patroni, the backend:
496
496
4. flushes filesystems and optionally drops host OS caches;
497
497
5. starts PostgreSQL and recreates the database;
498
498
6. runs the initialization command;
499
-
7. runs the workload command while the `pg_diag` Linux sampler records CPU,
499
+
7. runs `VACUUM ANALYZE` and captures the Before workload size snapshot;
500
+
8. runs the workload command while the `pg_diag` Linux sampler records CPU,
500
501
RAM, disk and network metrics on the database host;
501
-
8. stores raw stdout, stderr, return code, UTC start time, elapsed time, parsed
502
+
9. waits for any remaining OS sampling to finish, then captures the After workload size snapshot;
503
+
10. stores both snapshots, raw stdout, stderr, return code, UTC start time, elapsed time, parsed
502
504
pgbench metrics, and iteration metadata.
503
505
504
506
After the final iteration it collects the configured host and PostgreSQL facts
@@ -645,6 +647,21 @@ required on the SSH server.
645
647
646
648
## Report contents
647
649
650
+
Below `parameters`, the report header shows `Started:`, `Finished:`, and
651
+
`Common duration:` on separate lines. New reports record UTC timestamps and a
652
+
total elapsed duration in `timing`. For benchmarks, this covers preparation,
653
+
every workload iteration, and final data/log collection, up to report
654
+
serialization. Collection and JOIN reports measure their own operations.
655
+
Duration is measured with a monotonic clock and displayed as `HH:MM:SS.mmm`.
656
+
Older reports retain their recorded start time; missing finish times and total
657
+
durations display `Not recorded`.
658
+
659
+
The main measurements, TPS, average latency and failed-transaction charts,
0 commit comments