Telemetry Design
Desktop Registration Client Telemetry design.
Objectives
Implement a reliable and efficient mechanism for collecting logs, metrics, and telemetry events from Android devices.
Ensure secure transmission of collected data from the Android Registration Client to the server-side components.
Provide scalability and performance to handle a large number of Android clients concurrently.
Components:
Flutter Log Collector: Implement a log collector using the Flutter framework to gather relevant logs from the Android client.
Java Log Collector: Develop a log collector to capture logs specific to the Java runtime environment on the Android client.
Metrics Collector: Create a metrics collector to capture performance and behaviour metrics of the Android client.
Telemetry Events: Implement a mechanism to log specific user interactions events as Telemetry Events for insights into the client's operation.
TUS Android Client: Use Tus Android Client to read files from the disk and upload to upstream tus server.
Functional Requirement:
Info and Error Logs from flutter as well as java codebase along with stack traces to debug potential issues and bugs.
API request/response metrics
System Resource Usage (CPU and memory usage) - Feasibility Check needed
External integration Timing metrics (SBI, match sdk, Quality SDK)
Storage utilisation