pulse_dev library
Pulse Core — Pure Dart Developer Intelligence SDK.
This library provides the foundational building blocks of the Pulse SDK: event models, the event pipeline, transport and storage interfaces, privacy sanitization, and configuration.
Typical usage
For Flutter applications, use the higher-level
pulse_dev_flutter package which
builds on this library.
For pure Dart projects, import this library directly:
import 'package:pulse_dev/pulse_dev.dart';
Key types
- PulseConfig — SDK configuration
- PulseEvent — sealed base for all events
- EventPipeline — the processing engine
- PulseTransport — interface for event delivery
- PulseSanitizer — interface for privacy sanitization
- EventProcessor — interface for event enrichment/filtering
Classes
- ActivePulseSpan
- Represents an active performance measurement span.
- BreadcrumbBuffer
- A fixed-capacity ring buffer for BreadcrumbEvents.
- BreadcrumbEvent
- A PulseEvent representing a manual breadcrumb.
- Clock
- An abstraction over time that allows deterministic testing.
- CustomEvent
- A PulseEvent representing a custom analytics-style event.
- DefaultSanitizer
- The default PulseSanitizer implementation.
- ErrorEvent
- A PulseEvent representing a Dart Error.
- EventPipeline
- Orchestrates the end-to-end flow of an event through the SDK.
- EventProcessor
- Defines the contract for processing PulseEvents in the pipeline.
- EventQueue
- Manages offline queuing, persistence, and delivery of events.
- ExceptionEvent
- A PulseEvent representing a caught or uncaught Exception or thrown Object.
- FakeClock
- A Clock with a fixed time, for use in tests.
- FakeIdGenerator
- A sequential IdGenerator for use in tests.
- IdGenerator
- An abstraction over unique identifier generation.
- InMemoryPulseStorage
- A minimal, non-persistent implementation of PulseStorage.
- NetworkEvent
- Represents an HTTP network request and response.
- NoOpLogger
- A PulseLogger that silently discards all messages.
- NoOpTransport
- A PulseTransport that silently discards all events.
- PulseConfig
- Immutable configuration for the Pulse SDK.
- PulseContext
- An immutable snapshot of device and application metadata at the time an event was captured.
- PulseEvent
- Base class for all Pulse SDK events.
- PulseEventObserver
- An interface for observing events as they pass through the EventPipeline.
- PulseLogger
- Abstraction over SDK-internal logging.
- PulseNetworkConfig
- Configuration for Pulse network telemetry.
- PulseNetworkObserver
- Intercepts and records HTTP requests as NetworkEvents.
- PulsePerformanceConfig
- Configuration for the Pulse Performance Intelligence subsystem.
- PulsePlatform
- Standard platform identifier strings used in PulseEvent.platform.
- PulseSanitizationConfig
- Configuration for the Pulse Privacy and Sanitization Engine.
- PulseSanitizer
- Defines the contract for sanitizing PulseEvents before transport.
- PulseSpan
- Represents a single performance measurement span.
- PulseStorage
- Defines the contract for persisting PulseEvents on the device.
- PulseTransaction
- Represents an active performance transaction.
- PulseTransport
- Defines the contract for delivering PulseEvents to a destination.
- SanitizingProcessor
- An EventProcessor that applies a PulseSanitizer within the processor chain.
- SystemClock
- Production Clock implementation backed by DateTime.now.
- TransactionEvent
- Represents a complete transaction consisting of multiple spans.
- UuidGenerator
- Production IdGenerator backed by UUID v4.
Enums
- BreadcrumbLevel
- Severity level for a BreadcrumbEvent.
- PulseEventType
- Categorizes the type of a PulseEvent.
- PulseLogLevel
- Severity levels for PulseLogger messages.
- PulseTransportResult
- Represents the outcome of an event delivery attempt.
Constants
- kPulseEventSchemaVersion → const String
- The current schema version embedded in every serialized event.
- kPulseSdkVersion → const String
- The current version of the Pulse SDK.
Typedefs
- PulseSanitizerCallback = Object? Function(String key, Object? value)
- A callback used to provide custom sanitization logic for a specific key-value pair.