Skip to content

Bug: qfc-home-controller-metrics-duration-misread #443

Description

@drmoisan
  • Work Mode: full-bug

Summary

QuickFiler session-duration metrics are recorded incorrectly: WriteMetricsAsync reads the freshly restarted stopwatch instead of the swapped-out one, and both metrics writers use TimeSpan.Seconds (the 0-59 component) instead of TotalSeconds.

Environment

  • OS/version: Windows 11 Pro 10.0.26200
  • Python version: n/a (C# / .NET Framework 4.8 VSTO add-in)
  • Command/flags used: QuickFiler launched from the TaskMaster ribbon; any session that records metrics
  • Data source or fixture: Live Outlook mailbox

Steps to Reproduce

  1. Launch QuickFiler and file messages for a measurable interval longer than 60 seconds.
  2. Complete the session so the metrics write path runs.
  3. Inspect the recorded duration value.

Expected Behavior

The recorded duration equals the elapsed time of the completed filing interval.

Actual Behavior

Two independent errors corrupt the value:

  • On the end-of-database path the recorded duration is approximately 0 seconds regardless of the real interval.
  • Where a duration is recorded at all, an interval of 90 seconds is written as 30 because only the seconds component is taken.

Logs / Screenshots

  • Attached minimal logs or screenshot
  • Snippet: none; the values are written to the session metrics CSV.

Impact / Severity

  • Blocker
  • High
  • Medium
  • Low

Medium: no user-visible functional regression in filing, but recorded performance metrics are wrong, so any tuning decision based on them is unsound. Note this defect is currently masked by the separate defect in which metrics are never flushed to disk at all.

Source

From: docs/features/potential/2026-08-07-qfc-home-controller-metrics-duration-misread.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions