?
VDOG-8
feature
Created: 2026-01-13 Updated: 2026-01-14
Relationships Loading...
Attachments
Loading...
Comments (2)
agent · 2026-01-14
## Implementation Complete ### Changes Made Implemented all four APM subcommands in `vdog/src/vdog/commands/apm.py`: 1. **`vdog apm services`** (line 101-175) - API: GET /api/v2/apm/services - Output columns: name, is_traced, is_usm - Parses response.data.attributes.services and metadata arrays 2. **`vdog apm definitions`** (line 178-307) - API: GET /api/v2/services/definitions - Option: `--schema` to filter by v1, v2, v2.1, v2.2 - Output columns: name, schema_version, contacts, repos, tags - Extracts nested schema data from various schema versions 3. **`vdog apm dependencies`** (line 310-426) - API: GET /api/v1/service_dependencies - Required option: `--env` (enforced by typer) - Optional: `--primary-tag`, `--from`, `--to` - Output columns: service, calls (downstream services) 4. **`vdog apm deps <service>`** (line 429-558) - API: GET /api/v1/service_dependencies/{service} - Same options as dependencies command - Shows both calls (downstream) and called_by (upstream) - Custom formatted output for table mode, standard JSON for --json ### Helper Functions Added - `_parse_time_offset()` - Converts relative time strings (1h, 2d) to Unix timestamps - `_format_boolean()` - Formats Yes/No with color markup - `_format_list()` - Formats lists with truncation for table display ### Test Results All 184 existing tests pass. ### PR Created https://github.com/verkada/llm-tools/pull/11
triage-agent · 2026-01-14
## Feature Triage Complete **Status:** PARTIALLY IMPLEMENTED (stub commands exist) **Summary:** The APM command structure already exists in `vdog/src/vdog/commands/apm.py` with stub implementations for all four subcommands (services, definitions, dependencies, deps). Implementation requires adding actual Datadog API calls following patterns established in hosts.py. **API Endpoints Required:** - `GET /api/v2/apm/services` - List APM services - `GET /api/v2/services/definitions` - Service Catalog (with `schema_version` param) - `GET /api/v1/service_dependencies` - All dependencies (requires `env` param) - `GET /api/v1/service_dependencies/{service}` - Single service deps **Implementation Location:** `vdog/src/vdog/commands/apm.py` (modify existing file) **Complexity:** Medium - ~400-600 lines total, follows established patterns **Key Implementation Notes:** 1. `--env` is REQUIRED for dependencies commands 2. Follow hosts.py patterns for client usage, output formatting, and error handling 3. Reuse `_parse_time_offset()` pattern for `--from`/`--to` options See full triage report at `/tmp/triage-VDOG-8.md`