rekordbox_set_list_manager.services.telemetry#
Anonymous opt-in telemetry — local structured event log with optional remote sink.
All telemetry is opt-in, off by default. Nothing is written or sent until the user enables “Send anonymous usage data” in Settings.
Local log#
Events are written as newline-delimited JSON to
~/.cache/rekordbox_set_list_manager/events.jsonl. The file rotates (renamed to
events.1.jsonl) when it reaches _MAX_LOG_BYTES (5 MB). Only one
rotation backup is kept.
Remote sink (optional)#
If the environment variable SET_MANAGER_TELEMETRY_URL is set and non-empty,
batches of events are POSTed as application/x-ndjson to that URL in a
background thread. Failures are silently ignored — telemetry must never affect
the main application.
Privacy#
No PII is collected. File paths, playlist names, track titles, artist names, and user identifiers are never recorded.
Functions#
Return True if the user has opted in to telemetry. |
|
|
Record a telemetry event if opt-in is active. |
Module Contents#
- rekordbox_set_list_manager.services.telemetry.is_enabled()[source]#
Return True if the user has opted in to telemetry.
- Return type:
bool
- rekordbox_set_list_manager.services.telemetry.record(event, **fields)[source]#
Record a telemetry event if opt-in is active.
- Parameters:
event (str) – Short snake_case event name, e.g.
"app_start".**fields (Any) – Additional scalar metadata — counts, enum values, booleans. No strings containing user content (paths, names, etc.).
- Return type:
None