Skip to content

feat: persist pipeline phase timings on PipelineSession #177

@omsherikar

Description

@omsherikar

Summary

End-to-end orchestration (analyze → queue → fix → verify) lacks first-class timing in PipelineSession. Operators cannot see whether slowness is analysis, fixer matching, verification, or I/O without parsing logs.

Suggested direction

  • Add optional fields e.g. analyze_ms, queue_ms, apply_ms, verify_ms (or nested timings: dict) populated on the session.
  • Emit the same summary in CLI for refactron run when --verbose or REFACTRON_DEBUG.

Acceptance

  • Session JSON remains backward compatible (new optional fields).
  • Tests cover that timings are non-negative and set when phases run.

Code

  • refactron/core/pipeline_session.pyPipelineSession
  • refactron/core/pipeline.pyanalyze, queue_issues, apply
  • refactron/cli/run.py

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions