Overview
Build out the ProfilerSession class to capture real timings for all SDK operations and produce output compatible with the speedscope flame graph viewer (JSON format). Essential for diagnosing SDK performance bottlenecks in production.
Requirements
- ProfilerSession wraps a StellarSplitClient and records timing for every method call
- session.start() / session.stop() controls recording
- session.report(): SpeedscopeProfile returns flame-graph-compatible JSON (speedscope format v0.6)
- session.exportJSON(path): writes the report to a file
- Tracks: method name, start time (ms), duration (ms), success/failure, nested RPC call timings
- Tests asserting report structure matches speedscope schema
- Runnable example script examples/profile-session.ts
Acceptance Criteria
Definition of Done
All CI checks must pass before the PR is reviewed.
Overview
Build out the ProfilerSession class to capture real timings for all SDK operations and produce output compatible with the speedscope flame graph viewer (JSON format). Essential for diagnosing SDK performance bottlenecks in production.
Requirements
Acceptance Criteria
Definition of Done
All CI checks must pass before the PR is reviewed.