pulse_dev_flutter 0.1.0
pulse_dev_flutter: ^0.1.0 copied to clipboard
Flutter integration for the Pulse Developer Intelligence SDK. Provides automatic error capture via FlutterError.onError and runZonedGuarded, Flutter context collection, performance integrations, offli [...]
0.1.0 #
Initial release of pulse_dev_flutter — the Flutter integration layer for the Pulse SDK.
Added #
Public API
Pulse— static facade providing the complete developer-facing SDK APIPulse.initialize(config)— initialize the SDK with configurationPulse.run(callback)— wraps app in error-capturing zonePulse.captureException(exception, {stackTrace})— manually capture exceptionsPulse.captureError(error, {stackTrace})— manually capture errorsPulse.addBreadcrumb(message, {category, level, data})— record breadcrumbsPulse.track(name, {properties})— track custom eventsPulse.startTransaction(name, {operation})— start a performance transactionPulse.network— exposePulseNetworkObserverfor adapter packagesPulse.close()— gracefully shut down the SDKPulse.isInitialized— boolean guard for safe SDK usage
Internal Architecture
PulseClient— internal stateful coordinator managing all SDK subsystems
Flutter Error Integrations
FlutterErrorIntegration— hooksFlutterError.onErrorand chains existing handlersZoneErrorIntegration— captures unhandled errors viarunZonedGuardedFlutterPerformanceIntegration— captures app startup time and slow frame detectionFlutterContextCollector— collectsPulseContextfrom Flutter platform APIs (device info, locale, OS)
Debug Inspector (development-only)
PulseInspector— floating overlay widget for in-app telemetry inspectionPulseInspector.builder()— convenience builder forMaterialApp.builder- Zero overhead in release mode via
kReleaseModeguard
InspectorState— in-memory circular buffer for captured events (development only)- Tab views for: Errors, Breadcrumbs, Network, Performance, System
- JSON inspection with clipboard copy
- Event detail view for all event types
- Clear local events action
Safe Failure Behavior
- All integrations are isolated — SDK failures never propagate into the host application
- Existing
FlutterError.onErrorhandlers are always preserved (chained, not replaced)