devtools_profiler_core 0.5.1
devtools_profiler_core: ^0.5.1 copied to clipboard
Pure-Dart profiling backend for DevTools-inspired Dart and Flutter CLI and MCP workflows.
Changelog #
0.5.1 #
- Fixed interrupted profiling finalization so complete CPU and memory profiles
are written to
session.jsonbefore the target process is stopped. - Added bounded VM-service timeouts for large CPU and allocation profile responses.
- Fixed terminal interrupt races so SIGINT/SIGTERM-style exits are classified as profiler interruptions after finalization completes.
0.5.0 #
- Added
AllocationAttributionclass andattributeAllocationsToCallers()that cross-references CPU samples with memory class deltas to attribute allocations to the functions on the stack during heap growth. - Added
lineForFunction()helper that extracts line numbers from VM profile function data, enabling line-level source annotation. - Added
isAsyncOverheadgetter toProfileFramefor identifyingdart:asyncframes, supporting the--collapse-asyncfeature. - Added
extrafield toActiveProfileRegionandProfileRegionResultfor tool-specific metadata that persists in session artifacts. - Memory class attribution now exposes
AllocationAttributiondata throughPreparedRegionPresentation.allocAttribution.
0.4.0 #
- Added live Flutter frame timing analysis with jank attribution and timeline hotspot reporting.
- Added top-level
timelineas a first-class alias for frame timing analysis. - Added a dedicated
flutter:timelinealias for frame timing analysis while keepingflutter:frame-profileas a compatibility alias. - Added
flutter drivelaunch support for profiled Flutter app launches. flutter attachlaunches now default to 15s and skip DTD because attach mode does not use region markers.- Added Flutter widget tree capture helpers, including project-only filtering that preserves project widgets nested under framework wrappers.
- Added Flutter memory snapshot capture helpers for CLI and agent workflows.
- Added
WidgetInspectorQueryServicefor calling generic Flutter widget inspector service extensions, enablinggetSelectedWidget,getProperties,getChildren,getParentChain,getDetailsSubtree, andgetLayoutExplorerNodequeries. - Frame analysis now resets shader jank tracking per-frame instead of accumulating across the entire profile window, producing more accurate per-frame jank attribution.
- Replaced
navigation_stackexport withwidget_inspector_query; removed route stack navigation support sinceext.flutter.inspector.showroutes were removed upstream. - Various documentation updates, fixture formatting, and test expectation improvements.
0.3.0 #
- Added inherited-stdio process IO mode for terminal UI and alternate-screen profiling targets.
- Added deterministic VM-service discovery for inherited-stdio Dart launches
and Flutter
runlaunches. - Added optional interrupt signal handling so hosts can finalize available diagnostics before stopping an interrupted target.
- Reduced shutdown polling overhead by backing off exit-pause probes and adding bounded VM-service request timeouts during final capture.
0.2.1 #
- Added bare Dart file launch support by expanding file paths to
dart run <file>. - Improved short-lived Dart process profiling by holding isolates at exit long enough to capture final whole-session CPU and memory snapshots.
0.2.0 #
- Added memory class artifact inspection helpers for stored session, region, and raw memory profile artifacts.
- Added memory class comparison filters for minimum live bytes and class count limits.
- Added optional DTD disabling for attach sessions when region markers are not needed or the tooling daemon cannot start.
- Normalized artifact output directories to fully resolved paths and kept relative paths anchored against the profiled working directory.
- Allowed artifact readers to summarize per-profile artifact directories such
as
overall/andregions/<id>/in addition tosummary.jsonfiles. - Improved package detection for local checkout
file://.../<package>/lib/...CPU frames so package filters work outside.pub-cache.
0.1.0 #
- Initial release of the pure-Dart profiler backend.
- Added launch and attach flows for Dart and Flutter VM-service targets.
- Added CPU summaries, call trees, method tables, memory summaries, and artifact readers.
- Added hotspot, comparison, method inspection, and trend analysis helpers.