Skip to content

Add telemetry API#63

Merged
sndnv merged 15 commits intomasterfrom
add-telemetry-api
Jun 13, 2025
Merged

Add telemetry API#63
sndnv merged 15 commits intomasterfrom
add-telemetry-api

Conversation

@sndnv
Copy link
Copy Markdown
Owner

@sndnv sndnv commented Jun 12, 2025

  • Adds support for collecting client telemetry information
  • Minor fixes and dependency updates

Telemetry

Purpose

The ability to examine logs/diagnostic information on client devices is usually limited (especially on mobile devices) so this feature aims to enable better debugging of client-side issues.

What is collected

  • Runtime information
    • Client application name, version and build time (ex: stasis.client.android, 1.5.0, 2025-06-12 13:30)
    • Java Runtime Environment version and vendor (ex: 2.1.0, The Android Project)
    • Operating system name, version and architecture (ex: Linux, 4.4.302-..., aarch64)
  • Events - which APIs or UI pages/sections did the user visit (ex: get_device, get_backups, etc)
  • Failures - what exceptions/errors were encountered by the application but were not properly handled (ex: IllegalArgumentException - Unhandled ....)

What is NOT collected

  • User or device information (credentials, settings, etc)
  • User inputs, operation results (except the outcome, whether it's successful or not) or any kind of detail about events
  • OS or JRE settings/environment/state or any other details beyond what is explicitly mentioned above

Configuring or turning off analytics

It is possible to both turn off the feature entirely or to limit what is sent via the client configuration file (for Linux/MacOS) or via the usual app settings (Android client).

Viewing collected data

For regular users, it is possible to view what has been collected so far by their device either via the UI (in Settings) or via the CLI. It is NOT possible to view what has been submitted to the server by individual users/devices because no identifying information is collected/provided that can be traced back to the sender of the data. System administrators can view the collected data via the server-ui.

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 12, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.96%. Comparing base (611356a) to head (9c13537).
Report is 15 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff            @@
##           master      #63    +/-   ##
========================================
  Coverage   99.95%   99.96%            
========================================
  Files         389      401    +12     
  Lines       12482    12941   +459     
  Branches     1079      969   -110     
========================================
+ Hits        12477    12936   +459     
  Misses          5        5            
Flag Coverage Δ
python 99.88% <100.00%> (+<0.01%) ⬆️
scala 99.97% <100.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@sndnv sndnv force-pushed the add-telemetry-api branch from 78e6fdc to 9c13537 Compare June 13, 2025 15:03
@sndnv sndnv merged commit 1e4175c into master Jun 13, 2025
40 of 47 checks passed
@sndnv sndnv deleted the add-telemetry-api branch June 13, 2025 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant