Skip to content

test: add long-running telemetry retention soak - #260

Open
Korupt-virus wants to merge 1 commit into
throughput-benchmarksfrom
telemetry-soak
Open

test: add long-running telemetry retention soak#260
Korupt-virus wants to merge 1 commit into
throughput-benchmarksfrom
telemetry-soak

Conversation

@Korupt-virus

Copy link
Copy Markdown
Contributor

Summary

  • add isolated parser/replay workers that repeat full 20,000-frame lifecycles, force full GC, and record current RSS plus managed heap after every measured cycle
  • add deterministic median and ordinary-least-squares retention analysis with focused synthetic contract tests
  • run soak weekly on Monday at 08:17 UTC and by manual dispatch; always retain report artifact for 14 days

Detection model

One-shot peak budgets in #259 catch capacity regressions. This soak catches objects retained across repeated parse and replay lifecycle churn.

Ten warm-up cycles are discarded. Default run records 100 post-GC samples per scenario. A metric fails only when both first-to-last ten-sample median growth and positive slope exceed its limits, which separates bounded caches/JIT/allocator behavior from sustained retention:

  • managed heap: 64 MiB retained growth and 512 KiB/iteration slope
  • RSS: 128 MiB retained growth and 1 MiB/iteration slope

Stack

Temporarily targets throughput-benchmarks while #259 remains open, so this PR shows only soak changes. Retarget to main after #259 merges; do not merge this stacked PR first.

Verification

  • bun test test/tooling/replay-parser-soak.test.ts
  • bun run typecheck
  • bun run lint
  • bun run bench:telemetry:soak --iterations=20 --warmup=5 --output=telemetry-soak-results.json
  • bun run bench:telemetry:soak --output=telemetry-soak-results.json
  • bun run bench:telemetry:current --no-enforce --output=telemetry-benchmark-results.json

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant