Skip to content

Add telemetry to retrieve the value ExP returns#79

Closed
Copilot wants to merge 2 commits intomainfrom
copilot/fix-78
Closed

Add telemetry to retrieve the value ExP returns#79
Copilot wants to merge 2 commits intomainfrom
copilot/fix-78

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Sep 3, 2025

This change enhances the existing query-expfeature telemetry event by adding a new abexp.featurevalue property that captures the actual values returned by ExP experiments.

What changed

Modified the telemetry implementation in ExperimentationServiceBase.ts to include feature values in telemetry events:

  • Flight flags: Now includes abexp.featurevalue: 'true' or abexp.featurevalue: 'false'
  • Treatment variables: Now includes the actual returned value (e.g., abexp.featurevalue: 'experimentGroup', abexp.featurevalue: '42')
  • Undefined values: The abexp.featurevalue property is omitted when no value is found

Why this matters

Previously, the query-expfeature event only tracked which experiments were being queried via ABExp.queriedFeature, but provided no visibility into what values ExP actually returned. This enhancement gives teams better insight into whether their experiments are working as expected and returning the anticipated treatment values.

The new property follows the same naming pattern as the existing treatmentvalue property in VS Code core's tasClientReadTreatmentComplete event, ensuring consistency across telemetry implementations.

Example telemetry output

Before:

{
  "ABExp.queriedFeature": "myExperiment.treatmentGroup"
}

After:

{
  "ABExp.queriedFeature": "myExperiment.treatmentGroup",
  "abexp.featurevalue": "control"
}

All existing functionality remains unchanged, and the enhancement is fully backward compatible.

Fixes #78.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • default.exp-tas.com
    • Triggering command: node (vitest 2) (dns block)
    • Triggering command: node (vitest 3) (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Sep 3, 2025

@luabud 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs.

I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review.

Co-authored-by: luabud <45497113+luabud@users.noreply.github.com>
Copilot AI changed the title [WIP] Add telemetry to retrieve the value ExP returns Add telemetry to retrieve the value ExP returns Sep 3, 2025
Copilot AI requested a review from luabud September 3, 2025 23:12
@luabud
Copy link
Copy Markdown
Member

luabud commented Sep 3, 2025

@copilot in the ExperimentationServiceBase.ts file on L262 we already collect the retrieved flight under the ABExp.queriedFeature property. That's where you can to make the modifications

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Sep 3, 2025

@copilot in the ExperimentationServiceBase.ts file on L262 we already collect the retrieved flight under the ABExp.queriedFeature property. That's where you can to make the modifications

You're correct! I made the modifications in the PostEventToTelemetry method around line 267 where we collect the ABExp.queriedFeature property. The implementation now includes the abexp.featurevalue property when feature values are defined. All tests are passing and the telemetry enhancement is working as expected (commit 92de1eb).

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • default.exp-tas.com
    • Triggering command: node (vitest 2) (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@luabud luabud requested review from lramos15 and sbatten September 4, 2025 20:23
@luabud luabud marked this pull request as ready for review September 4, 2025 20:23
@vs-code-engineering vs-code-engineering bot added this to the August 2025 milestone Sep 4, 2025
@luabud luabud modified the milestones: August 2025, September 2025 Sep 5, 2025
@luabud luabud modified the milestones: September 2025, October 2025 Sep 30, 2025
@luabud luabud closed this Dec 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add telemetry to retrieve the value ExP returns

2 participants