Skip to content

perf(azure): wire VCPU/MemoryGB enrichment across providers (closes #98) - #833

Merged
cristim merged 1 commit into
feat/multicloud-web-frontendfrom
fix/98-wave11
Jun 6, 2026
Merged

perf(azure): wire VCPU/MemoryGB enrichment across providers (closes #98)#833
cristim merged 1 commit into
feat/multicloud-web-frontendfrom
fix/98-wave11

Conversation

@cristim

@cristim cristim commented May 28, 2026

Copy link
Copy Markdown
Member

Summary

Test plan

  • go build ./... from providers/azure/ -- clean
  • go test ./services/compute/ -- 63 passed (1 new)
  • go test ./... from providers/azure/ -- 661 passed across 14 packages

@cristim cristim added triaged Item has been triaged priority/p3 Polish / idea / may never ship severity/low Minor harm urgency/eventually No deadline impact/few Limited audience effort/s Hours type/feat New capability labels May 28, 2026
@cristim

cristim commented May 28, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented May 28, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@cristim, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 23 minutes and 2 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a0db2d60-beda-41f2-b1b7-8b992902439b

📥 Commits

Reviewing files that changed from the base of the PR and between 80c20d2 and be1f09e.

📒 Files selected for processing (2)
  • providers/azure/services/compute/client.go
  • providers/azure/services/compute/client_test.go
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/98-wave11

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai

coderabbitai Bot commented May 28, 2026

Copy link
Copy Markdown
Contributor
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@cristim

cristim commented May 30, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented May 30, 2026

Copy link
Copy Markdown
Contributor
✅ Actions performed

Full review triggered.

…uard (closes #98)

convertAzureVMRecommendation already populates ComputeDetails.VCPU and
MemoryGB via cachedSKULookup (landed in PR #229). Add the missing
context-cancellation guard in fetchSKUCatalogue per
feedback_ctx_cancel_terminal.md: treat ctx.Canceled/DeadlineExceeded as
terminal in the pagination loop, discard the partial catalogue, and fall
back to VCPU=0/MemoryGB=0 with a WARN log.

New test TestComputeClient_FetchSKUCatalogue_CancelledContextFallsBack
pins the invariant: a pre-cancelled context skips all NextPage calls and
returns nil.
@cristim

cristim commented Jun 1, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

cristim added a commit that referenced this pull request Jun 3, 2026
#219)

Add a new "Capacity" column to the recommendations table immediately
after "Resource Type". The column renders "N vCPU / M GB" when the
backend populates ComputeDetails.VCPU and ComputeDetails.MemoryGB
(populated by PRs #810/#816/#833 for Azure/AWS/GCP). Recs without those
fields show a dash, matching the feedback_nullable_not_zero rule.

Changes:
- types.ts: add vcpu/memory_gb optional fields to LocalRecommendation
- state.ts: add 'capacity' to RecommendationsColumnId
- recommendations.ts: add COLUMN_DEFS entry, formatCapacity() helper,
  and cases in categoricalCellValue/numericCellValue/displayPrecision/
  renderColumnCell; all innerHTML values go through escapeHtml()
- tests: +11 tests (formatCapacity unit, capacity filter, column count
  and position assertions); update 5 hardcoded td-index/column-list
  assertions shifted by the new column
cristim added a commit that referenced this pull request Jun 3, 2026
#219)

Add a new "Capacity" column to the recommendations table immediately
after "Resource Type". The column renders "N vCPU / M GB" when the
backend populates ComputeDetails.VCPU and ComputeDetails.MemoryGB
(populated by PRs #810/#816/#833 for Azure/AWS/GCP). Recs without those
fields show a dash, matching the feedback_nullable_not_zero rule.

Changes:
- types.ts: add vcpu/memory_gb optional fields to LocalRecommendation
- state.ts: add 'capacity' to RecommendationsColumnId
- recommendations.ts: add COLUMN_DEFS entry, formatCapacity() helper,
  and cases in categoricalCellValue/numericCellValue/displayPrecision/
  renderColumnCell; all innerHTML values go through escapeHtml()
- tests: +11 tests (formatCapacity unit, capacity filter, column count
  and position assertions); update 5 hardcoded td-index/column-list
  assertions shifted by the new column
cristim added a commit that referenced this pull request Jun 3, 2026
#219)

Add a new "Capacity" column to the recommendations table immediately
after "Resource Type". The column renders "N vCPU / M GB" when the
backend populates ComputeDetails.VCPU and ComputeDetails.MemoryGB
(populated by PRs #810/#816/#833 for Azure/AWS/GCP). Recs without those
fields show a dash, matching the feedback_nullable_not_zero rule.

Changes:
- types.ts: add vcpu/memory_gb optional fields to LocalRecommendation
- state.ts: add 'capacity' to RecommendationsColumnId
- recommendations.ts: add COLUMN_DEFS entry, formatCapacity() helper,
  and cases in categoricalCellValue/numericCellValue/displayPrecision/
  renderColumnCell; all innerHTML values go through escapeHtml()
- tests: +11 tests (formatCapacity unit, capacity filter, column count
  and position assertions); update 5 hardcoded td-index/column-list
  assertions shifted by the new column
@cristim

cristim commented Jun 4, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Rate Limit Exceeded

@cristim have exceeded the limit for the number of chat messages per hour. Please wait 39 minutes and 29 seconds before sending another message.

@cristim

cristim commented Jun 5, 2026

Copy link
Copy Markdown
Member Author

Verification note: the Azure ComputeDetails VCPU/MemoryGB enrichment (#98) and the ctx.Err() guard in the SKU-catalogue fetch already exist on base feat/multicloud-web-frontend. The diff here is a doc-comment reword + a new ctx-cancel test that PASSES against pre-PR code (it pins already-working behavior, doesn't fail pre-fix). Suggest retitling to reflect the real content (test + comment for the SKU-catalogue cancel path) and NOT auto-closing #98 on the premise of enrichment work it doesn't contain. Leaving for a human to decide.

@cristim
cristim merged commit 854c58b into feat/multicloud-web-frontend Jun 6, 2026
4 checks passed
@cristim
cristim deleted the fix/98-wave11 branch July 27, 2026 11:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/s Hours impact/few Limited audience priority/p3 Polish / idea / may never ship severity/low Minor harm triaged Item has been triaged type/feat New capability urgency/eventually No deadline

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant