TelemetryBuffer class
In-memory buffer for batching telemetry data before export.
This buffer accumulates telemetry data and flushes it periodically to reduce FFI overhead and improve performance.
Features:
- Configurable batch size (number of items before auto-flush)
- Configurable flush interval (time-based auto-flush)
- Separate buffers for traces, spans, metrics, and events
Constructors
- TelemetryBuffer({int batchSize = 100, Duration flushInterval = const Duration(seconds: 30)})
- Creates a new telemetry buffer.
Properties
- eventCount → int
-
Gets the number of events in the buffer.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- metricCount → int
-
Gets the number of metrics in the buffer.
no setter
- onFlush ↔ void Function()?
-
Callback to be called when buffer flushes.
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- size → int
-
Gets the current buffer size.
no setter
- spanCount → int
-
Gets the number of spans in the buffer.
no setter
- traceCount → int
-
Gets the number of traces in the buffer.
no setter
Methods
-
addEvent(
TelemetryEvent event) → bool - Adds an event to the buffer.
-
addMetric(
Metric metric) → bool - Adds a metric to the buffer.
-
addSpan(
Span span) → bool - Adds a span to the buffer.
-
addTrace(
Trace trace) → bool - Adds a trace to the buffer.
-
dispose(
) → void - Disposes the buffer and stops periodic flushing.
-
flush(
) → TelemetryBatch - Flushes all buffered telemetry data.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
stopPeriodicFlush(
) → void - Stops the periodic flush timer.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited