Skip to content

chore: remove telemetry app that brings little value and forces external requests #805

@hartym

Description

@hartym

Milestone: 0.10

Summary

Remove the telemetry application from HARP as it provides little value while forcing external HTTP requests to be made. The telemetry app currently sends anonymous usage statistics to an external endpoint every 24 hours, which adds unnecessary network overhead and potential privacy concerns without providing significant value to users or maintainers.

Context

The telemetry application (harp_apps.telemetry) is currently:

  • Included by default in the application stack (harp/config/defaults.py:12)
  • Sends data to https://connect.makersquad.fr/t/a every 24 hours
  • Collects anonymized platform fingerprint, configured applications list, version, and usage metrics
  • Can be disabled via --disable telemetry command-line flag
  • Has no user-facing features beyond the opt-out mechanism
  • Already disabled in test environments (conftest.py:11)

The removal is motivated by:

  • Reducing unnecessary external network requests that could fail or cause delays
  • Simplifying the application stack by removing non-essential components
  • Eliminating potential privacy concerns for users in regulated environments
  • Following the principle of minimalism - removing features that provide little value

Output and Testing Scenarios

Expected Output:

  • HARP starts without attempting any telemetry connections
  • No external requests to telemetry endpoints
  • No telemetry-related log messages
  • Application continues to function normally without telemetry

Testing Scenarios:

  1. Happy Path: Start HARP normally, verify no telemetry connections are attempted
  2. Configuration Check: Verify telemetry is not in default applications list
  3. Clean Removal: Ensure no telemetry imports or references remain in the codebase

Possible Implementation

Complete removal of the telemetry app following this approach:

  1. Remove from default applications:

    • Remove "telemetry" from DEFAULT_APPLICATIONS in harp/config/defaults.py
  2. Delete telemetry application code:

    • Remove entire directory: harp_apps/telemetry/
    • Remove from test configurations in conftest.py
  3. Clean up documentation:

    • Remove docs/apps/telemetry/ directory
    • Remove references from docs/reference/apps/harp_apps.telemetry*
    • Update any documentation mentioning the --disable telemetry flag
  4. Update changelog:

    • Add entry to docs/changelogs/unreleased.rst noting the removal
  5. Verify no dependencies:

    • Search for any remaining imports or references to harp_apps.telemetry
    • Ensure no other components depend on telemetry functionality

Current Challenges

None identified. The telemetry app is self-contained with no dependencies from other components, making it safe to remove without breaking changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions