CoR: Add telemetry for azure-deploy artifacts - #1831
Merged
Matthew Fisher (MicroFish91) merged 3 commits intoSep 12, 2026
Merged
Matthew Fisher (MicroFish91) merged 3 commits into
Matthew Fisher (MicroFish91) merged 3 commits into
Conversation
Matthew Fisher (MicroFish91)
requested a review
from a team
as a code owner
September 11, 2026 23:32
azure-deploy artifacts
Copilot started reviewing on behalf of
Matthew Fisher (MicroFish91)
September 11, 2026 23:36
View session
…y-artifact-telemetry
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Outstanding issues affect telemetry timing, failure-state reporting, and Deployment Plan data compatibility.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Adds privacy-filtered telemetry for azure-deploy artifacts during deployment-result handoff.
Changes:
- Adds artifact parsing and allowlisted telemetry metrics.
- Adds fixtures and focused parsing, failure, privacy, and integration tests.
- Wires telemetry into the deployment-results handoff.
File summaries
| File | Summary |
|---|---|
test/testProjects/copilotOnRails/attendance/scaffold-manifest.json |
Scaffold telemetry fixture |
test/testProjects/copilotOnRails/attendance/prereq-output.json |
Prerequisite telemetry fixture |
test/testProjects/copilotOnRails/attendance/prepare-plan.json |
Needs parser-compatible service and cost fields restored |
test/testProjects/copilotOnRails/attendance/deploy-result.json |
Deployment telemetry fixture |
test/copilotOnRails/recordDeployArtifactsTelemetry.test.ts |
End-to-end recording tests |
test/copilotOnRails/deployScaffoldTelemetryUtils.test.ts |
Scaffold extraction tests |
test/copilotOnRails/deployResultTelemetryUtils.test.ts |
Deployment extraction tests |
test/copilotOnRails/deployPrereqTelemetryUtils.test.ts |
Prerequisite extraction tests |
test/copilotOnRails/deployPrepareTelemetryUtils.test.ts |
Preparation extraction tests |
test/copilotOnRails/deploymentPlanTelemetryUtils.test.ts |
Deployment-plan telemetry coverage |
src/webviews/copilotOnRails/extension/utils/deployArtifactTelemetryUtils.ts |
Needs failure-state metric emission and documentation updates |
src/webviews/copilotOnRails/extension/openDeployResultView.ts |
Returns the selected result URI |
src/chat/tools/copilotOnRails/openDeployResultViewTool.ts |
Needs awaited inventory capture and diagnostics documentation updates |
Review details
Suppressed comments (4)
src/chat/tools/copilotOnRails/openDeployResultViewTool.ts:30
- The new call records four artifact-derived properties into the workspace-cached diagnostics via
setCorProp, butdocs/copilot-create-project.mdstill describes only the generic properties bag and does not document these new fields or their allowlisted privacy contract. Update the support/triage diagnostics and privacy section in the same change so Inspect Diagnostics and Report Issue remain accurate.
await recordDeployArtifactsTelemetry(corContext, resultFile);
src/webviews/copilotOnRails/extension/utils/deployArtifactTelemetryUtils.ts:112
- Returning before
setCorPropwhendeployResult.statusis not terminal drops every collected metric, includingdeployResult.parsedOk: falseorreadFailedfor a malformed/unreadable final artifact. Those are the diagnostics needed for exactly that failure mode; emit the allowlisted properties even when the result is missing, invalid, or unfinished instead of discarding them.
if (properties['deployResult.status'] !== 'succeeded' && properties['deployResult.status'] !== 'failed') {
return;
test/testProjects/copilotOnRails/attendance/prepare-plan.json:43
- This fixture no longer matches the fields consumed by
parsePreparePlanJson: its service entries useid/kind/componentId, while the parser readsname/sku/component/resourceNameand drops entries that have neithernamenorresourceName. Opening this project's Deployment Plan therefore rendersmissingServices; removing the attendance deployment-plan test hides the regression. Keep the canonical fields or update the parser and add a view regression test.
"id": "attendance-api",
"kind": "azure-functions",
"sku": "Flex Consumption (FC1)",
"region": "eastus2",
"runtime": "node",
test/testProjects/copilotOnRails/attendance/prepare-plan.json:190
- The Deployment Plan parser only reads
costEstimate.monthlyUsdandcostEstimate.breakdown[], but this fixture replaces them withmonthlyTotalUsdanditems. It will display a $0 estimate with no breakdown in the Deployment Plan, and the removed attendance test no longer catches it. Preserve the canonical fields or teach the parser this alternate layout.
"monthlyTotalUsd": 32,
"monthlyRangeUsd": {"low": 25, "high": 40},
"items": [
{"service": "Function App (Flex Consumption FC1)", "monthlyUsd": 2, "assumption": "Dev traffic: ~500K executions, mostly under free grant."},
{"service": "Storage Account (Standard_LRS)", "monthlyUsd": 1, "assumption": "Functions runtime + small blob usage."},
- Files reviewed: 13/13 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Matthew Fisher (MicroFish91)
deleted the
microfish91-deploy-artifact-telemetry
branch
September 12, 2026 15:40
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.