Skip to content

feat(cmd): Implement comprehensive status and observability #111

Description

@dangazineu

Implement comprehensive status reporting and observability for multi-repository workflows.

Description

This issue implements rich status reporting and observability features that provide detailed insights into multi-repository workflow execution, essential for debugging and monitoring complex distributed workflows.

Status Features

  • Execution tree visualization across all repositories
  • Long-running container status and resource usage
  • Event flow tracking and subscription evaluation history
  • Performance metrics and bottleneck identification

Status Commands

# Comprehensive workflow status
tako status exec-20240726-143022-a7b3c1d2

# Repository-specific status
tako status exec-20240726-143022-a7b3c1d2 --repo=my-org/app-one

# Event flow debugging
tako status exec-20240726-143022-a7b3c1d2 --show-events

Example Output

├── my-org/go-lib [COMPLETED] (2m15s)
│   ├── build_library [COMPLETED] (1m30s)
│   └── fan_out_to_dependents [COMPLETED] (45s)
├── my-org/app-one [RUNNING] (1m22s)
│   ├── update_integration [RUNNING] - step: run_tests (45s)
└── my-org/app-two [PENDING] - waiting for: subscription evaluation

Implementation Details

  • Create cmd/tako/internal/status.go with tree visualization
  • Implement event flow tracking and history
  • Add resource usage monitoring and reporting
  • Support debugging commands for subscription evaluation
  • Integrate with container runtime for long-running step monitoring

Acceptance Criteria

  • Status shows execution tree across all repositories
  • Long-running container status displayed correctly
  • Event flow tracking provides debugging information
  • Resource usage monitoring identifies bottlenecks
  • Status information actionable for operators and developers

Files to Modify

  • cmd/tako/internal/status.go (new)
  • internal/engine/monitoring.go (new)
  • internal/engine/visualization.go (new)

Related Issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions