diff options
Diffstat (limited to 'src/LivingVillage.Headless/BatchOutput.fs')
| -rw-r--r-- | src/LivingVillage.Headless/BatchOutput.fs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/LivingVillage.Headless/BatchOutput.fs b/src/LivingVillage.Headless/BatchOutput.fs index 971da97..aa79391 100644 --- a/src/LivingVillage.Headless/BatchOutput.fs +++ b/src/LivingVillage.Headless/BatchOutput.fs @@ -42,6 +42,23 @@ module BatchOutput = "batch_summary worlds=%d passed=%d failed=%d old_passed=%d/%d ratio_min=%.3f ratio_max=%.3f gini_min=%.3f gini_max=%.3f elapsed_s=%.1f workers=%d wall_s=%.1f" worlds passed failed oldPassed worlds ratioMin ratioMax giniMin giniMax elapsedSeconds workers elapsedSeconds + /// 多世界并存压测采样行:worlds/day 与各历史集合计数 + GC live set + OS RSS + 墙钟。 + let multiworldLine + (worlds: int) + (day: int64) + (totalDays: int64) + (events: int64) + (rumors: int64) + (annals: int64) + (memoryEntries: int64) + (gcLiveBytes: int64) + (rssBytes: int64) + (elapsedSeconds: float) : string = + let mb (bytes: int64) = float bytes / (1024.0 * 1024.0) + sprintf + "multiworld_sample worlds=%d day=%d/%d events=%d rumors=%d annals=%d memory_entries=%d gc_live_mb=%.2f working_set_rss_mb=%.2f elapsed_s=%.1f" + worlds day totalDays events rumors annals memoryEntries (mb gcLiveBytes) (mb rssBytes) elapsedSeconds + /// --cost-probe 单段输出:ticks/s、墙钟、分配与 GC 全部来自真实测量。 let costLine (days: int64) |
