Skip to content

Feature request: opt-in, lightweight memory diagnostics in Labs #1797

Closed

Description

@maharshi365

Problem

I'm seeing repeated memory issues in Hex. It is hard to include useful evidence in bug reports without running an external profiler. This request is for diagnostics, not a claim that a specific leak has been confirmed.

Request

Add a Memory diagnostics Labs feature, off by default, that records lightweight memory usage over time during normal use. It should be non-invasive so people can leave it on while reproducing a problem and attach the log to a bug report.

Proposed behavior

  • Sample Hex's process memory at a low frequency using inexpensive OS counters. Include timestamps, uptime, current and peak memory where available, with clearly named metrics and units.
  • Include enough non-sensitive context to interpret changes: Hex version/build, OS/architecture, selected speech model and CPU/GPU backend, and coarse states such as idle, recording, transcribing, or loading/unloading a model.
  • Use bounded, rotating, local-only logs with a clear size/retention limit. Make the diagnostic log easy to find or export for a bug report.
  • Keep sampling and disk writes off the audio and UI threads. Bound queues and allocations; diagnostics must not interrupt dictation or change model behavior.
  • Turning the Labs feature off stops sampling and writing. No diagnostic worker runs while it is off.

Privacy and scope

  • No audio, transcript text, clipboard content, page URLs, window titles, secrets, or memory dumps.
  • No automatic upload or telemetry. Sharing is an explicit user action.
  • No allocation tracing, stack capture, or forced garbage collection in this lightweight mode.
  • Aim for macOS, Windows, and Linux support. Report unavailable counters explicitly rather than treating unlike OS metrics as equivalent.

Acceptance criteria

  • Off by default and available through the normal Labs/settings paths.
  • Produces a bounded timeline that helps distinguish model-load spikes from sustained growth during repeated use or idle time.
  • The exported log contains version/platform context and is safe to review before sharing.
  • Verify disabled behavior, log bounds, privacy-safe fields, and failure handling. Measure and report sampling overhead during idle and dictation; logging failures must not affect Hex's core work.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions