Skip to content

Instrument CLI entrypoints to create root spans for user-initiated operations #469

Description

@psschwei

Description:
Instrument CLI entrypoints to create root spans for user-initiated operations.

Detailed Requirements:

  1. Create root span for each CLI command:
    • cli.serve - Serve command execution
    • cli.decompose - Decomposition command
    • cli.eval - Evaluation command
    • cli.alora - ALoRA commands
  2. Add command-specific attributes:
    • cli.command - Command name
    • cli.args - Sanitized argument summary (no secrets)
  3. Create reusable decorator or context manager for CLI tracing
  4. Ensure spans are properly closed even on exceptions

Files to Modify:

  • cli/m.py - Add tracing infrastructure
  • cli/serve/app.py - Instrument serve command
  • cli/decompose/decompose.py - Instrument decompose
  • cli/eval/commands.py - Instrument eval commands
  • cli/alora/commands.py - Instrument alora commands

Example Usage:

@app.command()
def serve(port: int = 8000):
    with trace_application("cli.serve", command="serve", port=port):
        # ... serve implementation

Acceptance Criteria:

  • Root span created for each CLI command
  • Command name and relevant args captured
  • Spans closed on success and exception
  • CLI remains functional when tracing disabled

Activity

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