Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions cli/azd/internal/tracing/fields/fields.go
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,7 @@ const (
// that signal specific types of usages.

EnvModifierAzureSpace = "Azure App Spaces Portal"
EnvModifierFoundryAgentCanvas = "Foundry Agent Canvas"
Comment thread
qinezh marked this conversation as resolved.
EnvModifierMicrosoftFoundrySkill = "Microsoft Foundry Skill"
)

Expand Down
3 changes: 3 additions & 0 deletions cli/azd/internal/tracing/resource/exec_environment.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,9 @@ func execEnvModifiers() []string {
if strings.Contains(userAgent, "azure_app_space_portal") {
modifiers = append(modifiers, fields.EnvModifierAzureSpace)
}
if strings.Contains(userAgent, "foundry_agent_canvas") {
modifiers = append(modifiers, fields.EnvModifierFoundryAgentCanvas)
}
if strings.Contains(userAgent, "microsoft_foundry_skill") {
modifiers = append(modifiers, fields.EnvModifierMicrosoftFoundrySkill)
}
Expand Down
8 changes: 7 additions & 1 deletion cli/azd/internal/tracing/resource/resource_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -278,11 +278,17 @@ func TestExecEnvModifiers(t *testing.T) {
userAgent: "microsoft_foundry_skill",
want: []string{fields.EnvModifierMicrosoftFoundrySkill},
},
{
name: "Foundry Agent Canvas",
userAgent: "foundry_agent_canvas",
want: []string{fields.EnvModifierFoundryAgentCanvas},
},
{
name: "multiple modifiers",
userAgent: "azure_app_space_portal microsoft_foundry_skill",
userAgent: "azure_app_space_portal foundry_agent_canvas microsoft_foundry_skill",
want: []string{
fields.EnvModifierAzureSpace,
fields.EnvModifierFoundryAgentCanvas,
fields.EnvModifierMicrosoftFoundrySkill,
},
},
Expand Down
5 changes: 4 additions & 1 deletion cli/azd/test/functional/telemetry_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ func Test_CLI_Telemetry_NestedCommands(t *testing.T) {
// set environment modifiers
cli.Env = append(
cli.Env,
"AZURE_DEV_USER_AGENT=azure_app_space_portal:v1.0.0 microsoft_foundry_skill",
"AZURE_DEV_USER_AGENT=azure_app_space_portal:v1.0.0 foundry_agent_canvas microsoft_foundry_skill",
)

// set a fixed traceparent to verify trace ID propagation for commands and nested commands
Expand Down Expand Up @@ -442,6 +442,9 @@ func verifyResource(
if strings.Contains(env, "azure_app_space_portal") {
require.Contains(t, m[fields.ExecutionEnvironmentKey.Key], ";"+fields.EnvModifierAzureSpace)
}
if strings.Contains(env, "foundry_agent_canvas") {
require.Contains(t, m[fields.ExecutionEnvironmentKey.Key], ";"+fields.EnvModifierFoundryAgentCanvas)
}
if strings.Contains(env, "microsoft_foundry_skill") {
require.Contains(t, m[fields.ExecutionEnvironmentKey.Key], ";"+fields.EnvModifierMicrosoftFoundrySkill)
}
Expand Down
3 changes: 2 additions & 1 deletion docs/reference/telemetry-data.md
Original file line number Diff line number Diff line change
Expand Up @@ -587,7 +587,8 @@ The `execution.environment` field identifies where azd is running. Format: `<env
| `GitHub Codespaces` | GitHub Codespaces |
| Other CI systems | `AppVeyor`, `Bamboo`, `BitBucket Pipelines`, `Travis CI`, `Circle CI`, `GitLab CI`, `Jenkins`, `AWS CodeBuild`, `Google Cloud Build`, `TeamCity`, `JetBrains Space` |

**Modifiers:** `Azure App Spaces Portal` and `Microsoft Foundry Skill` may be appended as modifiers (`;` separated).
**Modifiers:** `Azure App Spaces Portal`, `Foundry Agent Canvas`, and `Microsoft Foundry Skill` may be appended as
modifiers (`;` separated).

## Data Nuances & Gotchas

Expand Down
Loading