microsoft / vscode-extension-telemetry

Node module to help VS Code extensions send telemetry using application insights
https://www.npmjs.com/package/@vscode/extension-telemetry
Other
125 stars 46 forks source link

Telemetry is broken since switching to 1DS keys #183

Closed andyleejordan closed 11 months ago

andyleejordan commented 1 year ago

Per https://github.com/PowerShell/vscode-powershell/issues/4730 (which I'm mostly copy-pasting here for visibility since I don't know how else to reach the maintainers here, as there aren't any announcements etc.), our telemetry is broken since switching to 1DS keys, and it's because we took an update of @vscode/extension-telemetry from 0.6.2 to 0.8.1 which required us to switch to a new "1DS" key instead of an "Application Insights" key. That was done in https://github.com/PowerShell/vscode-powershell/commit/0c03eb0fce3a37c3b47bad4f813dee6e47a4ce2e per the error that was thrown from this package: https://github.com/microsoft/vscode-extension-telemetry/blame/80cfe9538a0f1512de3fe8b4a1e1f1e34d9b2efa/src/node/telemetryReporter.ts#L171

However, like the C/C++ extension experienced in https://github.com/microsoft/vscode-cpptools/pull/9822 our telemetry has disappeared. Their maintainer went ahead and just reverted (and yes, I figured out both the switch from AIF to 1DS and the fact this broke other people just from GitHub-sleuthing, there was no announcement and I literally searched to find the right key).

I don't want to "fix" this by reverting to the old version of the package and using the AIF key. Clearly we're supposed to be able to send telemetry using a 1DS key, but it's not working. @lramos15 can you please help us get to the bottom of this? It's blocking our next release. Thank you!

andyleejordan commented 1 year ago

I heard from Bob that they actually had a PR opened by maintainers here to the C/C++ extension to move from AIF to 1DS. We did not, I had to do the upgrade manually and found that 1DS key myself. This makes me wonder if there's an allow-list for ingesting the data on the new 1DS pipeline that we're not on (since we weren't on the list for the update). Could that be the case?

andyleejordan commented 1 year ago

Per https://github.com/microsoft/vscode-cpptools/pull/9828 (thanks Bob!) I checked, and http-proxy-agent is only a transitive dependency for us, coming from extension-telemetry (and in devDepenecies from test-electron). Neither is as old as v2.0.0 that was problematic there.

powershell@2023.9.1
├─┬ @vscode/extension-telemetry@0.8.4
│ └─┬ applicationinsights@2.7.3
│   └─┬ @azure/core-rest-pipeline@1.10.1
│     └── http-proxy-agent@5.0.0
└─┬ @vscode/test-electron@2.3.4
  └── http-proxy-agent@4.0.1
sbatten commented 12 months ago

Just verified that telemetry is indeed flowing still. The upgrade to the latest version of the module uses the vscode telemetry api which makes an opinionated event prefix of publisher.extname. previously your events were just prefixed extname only.

lramos15 commented 11 months ago

This has been resolved offline, seems just the event name changing caused issues.

andyleejordan commented 11 months ago

I think so! Thanks for the help both of you 😃