Skip to content

[ENHANCEMENT] Telemetry: Including Task Terminations, Course-Corrections, and User Cancelations #8832

@jordan-carson

Description

@jordan-carson

Problem (one or two sentences)

The telemetry system currently doesn't capture when users cancel tasks or terminate operations, making it difficult to understand user behavior patterns, identify friction points, and measure task completion rates versus abandonment.

Context (who is affected and when)

Currently, we can see when tasks start but have no data on whether are abandoned, user course-corrected or terminated mid-flight.

Desired behavior (conceptual, not technical)

The system should automatically record when users cancel ongoing tasks or terminate operations, capturing basic context.

Constraints / preferences (optional)

  • Must respect user privacy settings and telemetry opt-out preferences
  • Should not impact performance of the cancelation/termination flow
  • Data should be anonymized and aggregated for analysis
  • Should distinguish between different types of cancelations (user-initiated vs. system errors vs. timeouts)

Request checklist

  • I've searched existing Issues and Discussions for duplicates
  • This describes a specific problem with clear context and impact

Roo Code Task Links (optional)

No response

Acceptance criteria (optional)

Given a user has an active Roo Code task in progress
When the user cancels the task
Then a telemetry event is logged with task type, elapsed time, and cancelation source
And different cancelation types (user-initiated, error, timeout) are correctly categorized
And no personally identifiable information (PII) is included in the telemetry payload
But no telemetry events are sent if the user has opted out of telemetry collection

Proposed approach (optional)

Add telemetry event hooks to the terminate button handler in the WebUI. The implementation should:

  1. Distinguish between termination intents: Track whether the terminate action is:

    • First click on a parent task (intent to stop and provide new direction)
    • Subsequent clicks to fully exit and create a new task
    • Mid-execution correction (user wants to provide additional context to course-correct)
  2. Capture context-rich data: Each termination event should include:

    • Task hierarchy level (parent vs. subtask)
    • Termination click count (1st, 2nd, 3rd+ click)
    • Time elapsed since task start
    • Current execution stage/state
    • Whether user provided follow-up input after termination (indicates course correction vs. full abandonment)
  3. Track user intent signals:

    • If user terminates then immediately provides new instructions → log as "course correction"
    • If user terminates multiple times to reach new task screen → log as "full abandonment"
    • If user terminates and provides context during existing task → log as "mid-task guidance"
  4. Implementation points:

    • Hook into existing terminate button click handler
    • Use a short time window (e.g., 30 seconds) after termination to detect follow-up actions
    • Create distinct event types: task_terminated, task_corrected, task_abandoned
    • Store minimal session context to correlate termination with subsequent actions

Trade-offs / risks (optional)

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue/PR - TriageNew issue. Needs quick review to confirm validity and assign labels.enhancementNew feature or request

    Type

    No type

    Projects

    Status

    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions