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