DartBridgeTelemetry class
Telemetry bridge for C++ telemetry operations.
Matches Swift's CppBridge+Telemetry.swift.
C++ handles all telemetry logic:
- Convert analytics events to telemetry payloads
- Queue and batch events
- Group by modality for production
- Serialize to JSON (environment-aware)
- Callback to Dart for HTTP calls
Dart provides:
- Device info
- HTTP transport for sending telemetry
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
emitDeviceRegistered(
{required String deviceId}) → Future< void> - Emit device registered event
-
emitDeviceRegistrationFailed(
{required String error}) → Future< void> - Emit device registration failed event
-
emitDownloadCompleted(
{required String modelId, required String modelName, required int modelSize, required String framework, required int durationMs}) → Future< void> - Emit download completed event
-
emitDownloadFailed(
{required String modelId, required String modelName, required String error, required String framework}) → Future< void> - Emit download failed event
-
emitDownloadStarted(
{required String modelId, required String modelName, required int modelSize, required String framework}) → Future< void> - Emit download started event
-
emitExtractionCompleted(
{required String modelId, required String modelName, required String framework, required int durationMs}) → Future< void> - Emit extraction completed event
-
emitExtractionStarted(
{required String modelId, required String modelName, required String framework}) → Future< void> - Emit extraction started event
-
emitInferenceCompleted(
{required String modelId, required String modelName, required String modality, required int durationMs, int? tokensGenerated, double? tokensPerSecond}) → Future< void> - Emit inference completed event
-
emitModelLoaded(
{required String modelId, required String modelName, required String framework, required int durationMs}) → Future< void> - Emit model loaded event
-
emitSDKInitialized(
{required int durationMs, required String environment}) → Future< void> - Emit SDK initialized event
-
emitStorageCacheCleared(
{required int freedBytes}) → Future< void> - Emit storage cache cleared event
-
emitStorageCacheClearFailed(
{required String error}) → Future< void> - Emit storage cache clear failed event
-
emitStorageTempCleaned(
{required int freedBytes}) → Future< void> - Emit storage temp cleaned event
-
emitVoiceAgentAllReady(
) → Future< void> - Emit voice agent all ready event
-
emitVoiceAgentLlmStateChanged(
{required String state}) → Future< void> - Emit voice agent LLM state changed event
-
emitVoiceAgentSttStateChanged(
{required String state}) → Future< void> - Emit voice agent STT state changed event
-
emitVoiceAgentTtsStateChanged(
{required String state}) → Future< void> - Emit voice agent TTS state changed event
-
emitVoiceAgentTurnCompleted(
{required int durationMs}) → Future< void> - Emit voice agent turn completed event
-
emitVoiceAgentTurnFailed(
{required String error}) → Future< void> - Emit voice agent turn failed event
-
emitVoiceAgentTurnStarted(
) → Future< void> - Emit voice agent turn started event
-
flushAsync(
) → Future< void> - Flush pending telemetry (instance method, delegates to static)
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
trackEvent(
{required int eventType, Map< String, dynamic> ? data}) → Future<void> - Track a telemetry event (via analytics event type)
-
trackPayload(
Map< String, dynamic> payload) → Future<void> - Track a raw telemetry payload
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- instance → DartBridgeTelemetry
-
final
Static Methods
-
flush(
) → void - Flush any queued telemetry events. Static method that delegates to instance if initialized. Matches Swift: CppBridge.Telemetry.flush()
-
initialize(
{required SDKEnvironment environment, required String deviceId, String? baseURL, String? accessToken}) → Future< void> - Initialize telemetry manager with device info (full async init)
-
initializeSync(
{required SDKEnvironment environment}) → void - Synchronous initialization - just stores environment. Matches Swift's Telemetry.initialize() in Phase 1 (minimal setup). Full initialization with device info happens in Phase 2 via initialize().
-
setAccessToken(
String? token) → void - Update access token
-
shutdown(
) → void - Shutdown telemetry manager