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#

is_enabled()

Return True if the user has opted in to telemetry.

record(event, **fields)

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