Add telemetry to retrieve the value ExP returns#79
Conversation
|
@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 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:
If you need me to access, download, or install something from one of these locations, you can either:
|
This change enhances the existing
query-expfeaturetelemetry event by adding a newabexp.featurevalueproperty that captures the actual values returned by ExP experiments.What changed
Modified the telemetry implementation in
ExperimentationServiceBase.tsto include feature values in telemetry events:abexp.featurevalue: 'true'orabexp.featurevalue: 'false'abexp.featurevalue: 'experimentGroup',abexp.featurevalue: '42')abexp.featurevalueproperty is omitted when no value is foundWhy this matters
Previously, the
query-expfeatureevent only tracked which experiments were being queried viaABExp.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
treatmentvalueproperty in VS Code core'stasClientReadTreatmentCompleteevent, ensuring consistency across telemetry implementations.Example telemetry output
Before:
After:
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.comnode (vitest 2)(dns block)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.