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

Classes

ActivePulseSpan
Represents an active performance measurement span.
A fixed-capacity ring buffer for BreadcrumbEvents.
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

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.