Skip to content

feat: implement ProfilerSession with speedscope v0.6 flame graph output#431

Open
Eromosele0110 wants to merge 1 commit into
Stellar-split:mainfrom
Eromosele0110:feature/profiler-session
Open

feat: implement ProfilerSession with speedscope v0.6 flame graph output#431
Eromosele0110 wants to merge 1 commit into
Stellar-split:mainfrom
Eromosele0110:feature/profiler-session

Conversation

@Eromosele0110

@Eromosele0110 Eromosele0110 commented Jul 21, 2026

Copy link
Copy Markdown
Contributor
  • Rewrote ProfilerSession to produce speedscope v0.6 JSON (SpeedscopeProfile)
  • Tracks method name, start time, duration, success/failure, nested RPC timings
  • Added session.report(): SpeedscopeProfile and session.exportJSON(path) methods
  • Kept backwards-compatible getReport() / stop() returning ProfileReport
  • Added 21 profiler tests validating speedscope schema structure without ajv
  • Added examples/profile-session.ts runnable demo against a mock RPC
  • Fixed pre-existing bugs: VersionInfo missing closing brace in types.ts, duplicate LedgerAdapter export in index.ts, version.ts string|string[] split, client.ts missing InvoiceLifecycleHooks type and _hooks property, client.test.ts await-in-non-async and misplaced import, wrong error count assertions in validatePayment and TelemetryCollector tests
  • Updated .gitignore with test snapshots, IDE files, logs, scratch files
  • Updated npm test script to run both client and profiler test files
  • close feat: implement ProfilerSession with speedscope v0.6 flame graph output #431

- Rewrote ProfilerSession to produce speedscope v0.6 JSON (SpeedscopeProfile)
- Tracks method name, start time, duration, success/failure, nested RPC timings
- Added session.report(): SpeedscopeProfile and session.exportJSON(path) methods
- Kept backwards-compatible getReport() / stop() returning ProfileReport
- Added 21 profiler tests validating speedscope schema structure without ajv
- Added examples/profile-session.ts runnable demo against a mock RPC
- Fixed pre-existing bugs: VersionInfo missing closing brace in types.ts,
  duplicate LedgerAdapter export in index.ts, version.ts string|string[] split,
  client.ts missing InvoiceLifecycleHooks type and _hooks property,
  client.test.ts await-in-non-async and misplaced import, wrong error count
  assertions in validatePayment and TelemetryCollector tests
- Updated .gitignore with test snapshots, IDE files, logs, scratch files
- Updated npm test script to run both client and profiler test files
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