mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-30 02:18:43 +00:00
75 lines
4.2 KiB
Markdown
75 lines
4.2 KiB
Markdown
# RTT regression audit checkpoint
|
|
|
|
Status: branch-local checkpoint, not release notes.
|
|
|
|
## Signals
|
|
|
|
- `openclaw-rtt` Discord main rows appeared to jump from about 5-7s p50 to about
|
|
24-27s p50 after the 2026-05-16 main window.
|
|
- Downloaded fast/slow Discord artifacts showed the old "fast" run included
|
|
observed message `triggerTimestamp` and `timestamp`, while newer redacted runs
|
|
kept only scenario metadata.
|
|
- `openclaw-rtt` `scripts/import-discord-rtt.mjs` falls back to whole summary
|
|
duration when observed-message timestamps are missing. That made a redaction
|
|
shape change look like transport RTT regression.
|
|
- Slack and WhatsApp RSS rows showed recurring first-sample max RSS outliers
|
|
around 6-9GB while later warm samples sat far lower. That points at
|
|
command-level cold-start RSS measurement before retained gateway heap.
|
|
|
|
## Fixes in this branch
|
|
|
|
- `extensions/qa-lab/src/live-transports/discord/discord-live.runtime.ts`
|
|
preserves safe timing fields through metadata redaction so importers can keep
|
|
measuring reply RTT without exposing Discord IDs or content.
|
|
- Discord QA scenario summaries now include `rttMs` for direct importer use.
|
|
- `extensions/qa-lab/src/suite.ts` records gateway-process RSS start/end/peak
|
|
and checkpoint samples in `qa-suite-summary.json`, giving RTT importers a
|
|
gateway-level metric separate from `/usr/bin/time` command max RSS.
|
|
|
|
## Proof so far
|
|
|
|
- Focused local wrapper:
|
|
`node scripts/run-vitest.mjs extensions/qa-lab/src/live-transports/discord/discord-live.runtime.test.ts`
|
|
passed 30 tests.
|
|
- Focused local wrapper:
|
|
`node scripts/run-vitest.mjs extensions/qa-lab/src/suite.test.ts extensions/qa-lab/src/suite.summary-json.test.ts extensions/qa-lab/src/live-transports/discord/discord-live.runtime.test.ts`
|
|
passed 52 tests after the final rebase.
|
|
- Testbox `tbx_01krvces8y0c99nzra2a90jg13` ran
|
|
`pnpm openclaw qa suite --scenario channel-chat-baseline` and emitted gateway
|
|
RSS trace fields. Observed sample: wall `15784ms`, gateway RSS
|
|
`664403968 -> 689852416`, peak `689852416`.
|
|
- Testbox `tbx_01krwb9k7cbktytpjprxcydfbk` ran `pnpm check:changed` and the
|
|
command exited 0. The wrapper Actions run `26008757251` still reported
|
|
`in_progress` after the box was stopped.
|
|
- Testbox `tbx_01krwbsg15xvjdgpcz8fxq1htz` ran
|
|
`OPENCLAW_QA_GATEWAY_HEAP_CHECKPOINTS=1 pnpm openclaw qa suite --scenario channel-chat-baseline`.
|
|
The sample passed and recorded heap checkpoints plus RSS trace: wall
|
|
`20112ms`, gateway RSS `655036416 -> 953790464`, peak `1051258880`, heap
|
|
snapshots `154M` and `165M`.
|
|
- After rebasing onto `b5046968f61`, a fresh Testbox `pnpm check:changed`
|
|
attempt on `tbx_01krwbsg15xvjdgpcz8fxq1htz` was blocked before reaching the
|
|
changed gate: pnpm install rejected newly published
|
|
`@earendil-works/pi-ai@0.74.1` under `minimumReleaseAge`.
|
|
- After rebasing again, Testbox-through-Crabbox
|
|
`tbx_01krwcxpxx1n22t8jmvcj40228` ran
|
|
`pnpm check:changed` with an explicit `origin/main` fetch to repair the
|
|
delegated shallow checkout's merge base, and passed. The run escalated to all
|
|
changed-gate lanes in the delegated checkout, so it covered typecheck, lint,
|
|
and runtime import-cycle checks rather than only the narrow qa-lab diff.
|
|
- Follow-up branch `perf/discord-rtt-summary-import` in `openclaw-rtt` updates
|
|
`scripts/import-discord-rtt.mjs` to prefer the new summary `rttMs` field
|
|
before observed-message or summary-duration fallback, and teaches Discord and
|
|
live-transport importers to ingest gateway RSS summary metrics. `npm test -- scripts/import-discord-rtt.test.mjs scripts/import-live-transport-rtt.test.mjs`
|
|
passed 19 tests and `npm run check` passed.
|
|
|
|
## Still weak
|
|
|
|
- No retained-heap regression has been proven. The first heap-checkpoint sample
|
|
grew by about 11M on disk across the scenario, which is worth comparing
|
|
across repeated warm samples before calling it a leak.
|
|
- The branch fixes OpenClaw artifact quality. `openclaw-rtt` has a paired
|
|
importer branch for summary `rttMs` and gateway RSS metric ingestion;
|
|
dashboard presentation of gateway RSS remains a later reporting decision.
|
|
- Gitcrawl data was stale for the newest RTT window, so live `gh` history was
|
|
the source of truth for 2026-05-16 and 2026-05-17 PR attribution.
|