feat: add new user agent: microsoft_foundry_canvas#9206
Conversation
|
Azure Pipelines: 7 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
|
Thank you for your contribution @qinezh! We will review the pull request and get back to you soon. |
There was a problem hiding this comment.
Pull request overview
Adds Foundry Agent Canvas attribution to azd execution-environment telemetry.
Changes:
- Detects
foundry_agent_canvasin the user agent. - Adds unit and functional verification.
- Documents the telemetry modifier.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
docs/reference/telemetry-data.md |
Documents the modifier. |
cli/azd/test/functional/telemetry_test.go |
Verifies emitted telemetry. |
cli/azd/internal/tracing/resource/resource_test.go |
Adds modifier unit tests. |
cli/azd/internal/tracing/resource/exec_environment.go |
Detects the user-agent token. |
cli/azd/internal/tracing/fields/fields.go |
Defines the modifier value. |
jongio
left a comment
There was a problem hiding this comment.
Follows the established modifier pattern exactly, with matching unit and functional tests plus a doc update. The append order in the test lines up with the detection order in execEnvModifiers.
On the bot's canonical-schema comment: your won't fix is right. telemetry-schema.md describes execution.environment only as CI system detection and does not enumerate the existing modifiers, so there is nothing to sync here.
jongio
left a comment
There was a problem hiding this comment.
Re-checked the rename to microsoft_foundry_canvas / Microsoft Foundry Canvas: it's applied consistently across the detector, constant, unit and functional tests, and both docs, with no leftover references to the old token. gofmt is clean, the unit test passes, and the PR description now matches the detected user agent, so the earlier mismatch is resolved.
jongio
left a comment
There was a problem hiding this comment.
The new microsoft_foundry_canvas modifier follows the existing azure_app_space_portal and microsoft_foundry_skill handling in exec_environment.go. Detection, the emitted Microsoft Foundry Canvas value, unit and functional tests, and both the public telemetry reference and canonical schema are all consistent with the sibling modifiers.
jongio
left a comment
There was a problem hiding this comment.
Verified the new microsoft_foundry_canvas modifier against the existing azure_app_space_portal and microsoft_foundry_skill handling in exec_environment.go. Detection order, the emitted Microsoft Foundry Canvas value, the unit and functional tests, and both doc tables all line up. No code changes since my prior review of this commit.
jongio
left a comment
There was a problem hiding this comment.
Re-reviewed against 9b40d01. The microsoft_foundry_canvas handling mirrors the existing microsoft_foundry_skill modifier across the constant, execEnvModifiers, the unit and functional tests, and both telemetry docs. The user-agent token, emitted value, and documentation all line up, and the earlier schema-doc and naming comments are resolved.
Summary
microsoft_foundry_canvasinAZURE_DEV_USER_AGENTMicrosoft Foundry Canvasto the existingexecution.environmentbase valueRelated issue
Fixes #9207
Testing
go test ./internal/tracing/resource -count=1go test ./test/functional -run '^$' -count=1gofmtverification on changed Go filesgit diff --checkgo test ./test/functional -run '^Test_CLI_Telemetry_NestedCommands$' -count=1 -timeout 10mreached and verifiedDesktop;Azure App Spaces Portal;Microsoft Foundry Canvas;Microsoft Foundry Skill; the overall test later failed locally withcmd.package not foundafter the local multi-tenant prompt changed the expected command flow