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
126 stars 46 forks source link

Error telemetry not sent for Azure ML Remote extension #143

Closed sevillal closed 1 year ago

sevillal commented 1 year ago

In version 0.5.0 of the vscode-extension-telemetry library the Azure ML Remote extension was able to send error events using the sendTelemetryErrorEvent API, after upgrading to version 0.6.2 the error events are not flowing.

The reason seems to be that amlext does not appear in the list of allowed remote authorities, thus it blocks the error event from being sent.

In version 0.5.0 it looks like regardless of the remote authority the event was not blocked and it was normalizing the paths. See here: https://github.dev/microsoft/vscode-extension-telemetry/blob/e412a10980ad10d2c70c72b6bdb621fe25a2f2c0/src/common/baseTelemetryReporter.ts#L332

Since Azure Machine Learning - Remote is an extension enabling a remote experience, we should include it in the list of allowed remote authorities.

cc: @greazer @tbombach @shsuman

greazer commented 1 year ago

Also, because it's difficult for us to know whether there may be other aspects of remote extensions that the Azure ML extension may have been inadvertently left out, are there any other mechanisms that can be reviewed to make sure something like this can't happen again?

lramos15 commented 1 year ago

Thanks for the issue, I'll get this added to the list. The reason for allow listing is to prevent accidentally leaking private remote authorities. We want to be as restrictive as possible in our collection.

@greazer Not sure what you mean by ensuring something like this doesn't happen. 0.7.5 includes an output channel which you can use to see the events flowing in real time allowing you to locally test your telemetry before deploying it. Maybe this will help?

lramos15 commented 1 year ago

This should be fixed in 1.76.0 of VS Code. We now rely on VS Code for the cleaning and not this module meaning you will have to stay on 0.5.0 until you feel comfortable enough that enough users have adopted 1.76.0 or greater and then upgrade your module to 0.7.5 or greater. Let me know if you have any questions