Improve Extract and Publish log readability
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- typescript
- Domain
- cli
Research direction
Start with tests/integration/all-resource-types/basicv2-test.log, then compare the relevant output paths in src/cli/extract-command.ts, src/services/publish-service.ts, src/cli/publish-command.ts, and src/clients/apim-client.ts. Trace how extraction, publishing, and retries currently log their work. Done means the output covers the proposed grouping, timing, summary, and retry-context improvements without omitting APIs.
Written by the indexing model from the issue text.
Description
Summary
Feedback on the integration test logs (tests/integration/all-resource-types/basicv2-test.log) identified several readability and usability improvements for the Extract and Publish command output.
Proposed Improvements
Extract Command (src/cli/extract-command.ts)
-
Group resources by dependency tier — The "Extracted N Type(s)" lines are a flat list with no visual hierarchy. Group by tier or add blank lines between categories.
-
List all APIs in the detail section — Currently only APIs with specs/operations are shown (7 of 12). APIs like
src-graphql-syntheticandsrc-a2a-weather-agentare silently omitted. List all APIs even if minimal. -
Add elapsed time to the Total line —
Total: 96 resources extracted, 0 errorsshould include duration (e.g.,in 12.3s).
Publish Command (src/services/publish-service.ts, src/cli/publish-command.ts)
-
Add tier/phase headers — All PUTs are a single flat stream. Since publish executes in dependency tiers, add headers:
── Tier 1: Independent resources (16) ── PUT namedvalue/src-nv-plain ... ── Tier 2: Resources with dependencies (2) ── PUT backend/src-backend-pool -
Add elapsed time — No indication of how long publish took or which resources were slow. Add per-tier or total timing.
-
Enrich the summary —
41 creates/updates, 0 deletes, 1 skippedcould also show total elapsed time and retry count (e.g., "6 retries across 2 resources").
Retry Logging (src/clients/apim-client.ts)
-
Round retry delay values —
retrying after 1175.1730686888397ms→retrying in 1.2s -
Include resource context in retry warnings — Currently no indication of which resource triggered the retry.
-
Include attempt number — e.g.,
(attempt 2/5)so readers know retry progress. -
Reduce retry noise in output — Retries interleave with PUT lines and break the flow. Consider grouping retries under their resource or suppressing intermediate retries (show only final outcome with retry count).
Files to Modify
src/cli/extract-command.ts— items 1–3src/services/publish-service.ts— items 4–6src/cli/publish-command.ts— items 5–6src/clients/apim-client.ts— items 7–10
Related
Based on review of tests/integration/all-resource-types/basicv2-test.log
- Dominant language
- TypeScript
- Stars
- 29
- Forks
- 10
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 22
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Azure/apiops-cli
-
type:question
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Azure/apiops-cli#277 ·
-
type:documentation
Difficulty 1/5 Under an hour Newbie friendliness 94/100
Azure/apiops-cli#250 ·
-
Documentation P2
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Azure/apiops-cli#24 · 1 comment ·
-
type:bug
Difficulty 4/5 3-5 days Newbie friendliness 55/100
Azure/apiops-cli#291 ·
-
type:bug
Difficulty 3/5 1-2 days Newbie friendliness 58/100
Azure/apiops-cli#276 ·
All issues in Azure/apiops-cli
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
danielmiessler/LifeOS#2218 ·