Skip to content

PerfTrace core: span API, ring buffer, tag allowlist (CL-5160) - #303

Merged
TheGreatAxios merged 2 commits into
mainfrom
stack/w1a-cl-5160-perftrace-core
Aug 4, 2026
Merged

PerfTrace core: span API, ring buffer, tag allowlist (CL-5160)#303
TheGreatAxios merged 2 commits into
mainfrom
stack/w1a-cl-5160-perftrace-core

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Collaborator

Stack

PerfTrace stack 1/8 — base of the always-on performance tracing series.

Position Branch Issue
1 (this) stack/w1a-cl-5160-perftrace-core CL-5160
2 stack/w2a-cl-5171-auto-spans CL-5171
3a stack/w2b-cl-5175-otel-settings CL-5175
3b stack/w3a-cl-5169-dump-rollup CL-5169
3c stack/w3b-cl-5170-perm-subagent CL-5170
4a stack/w4a-cl-5173-otel-sink CL-5173
4b stack/w4b-cl-5174-eval-harness CL-5174
5 stack/w5-cl-5167-attribution CL-5167

Linear

https://linear.app/abklabs/issue/CL-5160/perftrace-core-span-api-ring-buffer-and-local-tag-allowlist

Summary

Local PerfTrace core: start/end/mark span API, fixed-size ring buffer, privacy-strict tag allowlist. No network, no OTEL yet.

Test evidence

  • bun test on src/perf/* in worktree
  • Review fleet: PASS

Merge note

Do not merge out of order. Merge this first; then stack dependents.

@linear-code

linear-code Bot commented Aug 4, 2026

Copy link
Copy Markdown

CL-5160

Always-on in-process span API (start/end/mark) using monotonic
hrtime, a fixed 4096-span ring, and privacy-sanitized tags.
No network or PostHog; snapshot/clear for tests.
Accept parentId only as opaque span ids (known open/ring or OPAQUE_ID_RE);
return shallow snapshot copies; cap open spans with oldest-first eviction;
mark() takes StartOptions; cover double-end, clear, and overflow paths.
@TheGreatAxios
TheGreatAxios force-pushed the stack/w1a-cl-5160-perftrace-core branch from f76e8cb to 8575c45 Compare August 4, 2026 18:10
@TheGreatAxios
TheGreatAxios merged commit 03bab5a into main Aug 4, 2026
1 check passed
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