microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
163.95k stars 29.18k forks source link

Move telemetry cleansing into shared process #138323

Open jrieken opened 2 years ago

jrieken commented 2 years ago

Follow up from https://github.com/microsoft/vscode/issues/138153

We do a bunch of cleansing operations so that we lower the chances to accidentally leak PII or any other sensible data to telemetry. This currently happens in the renderer process and therefore can impact performance, esp. startup performance. I also don't know how/if we clean telemetry from other processes, like the main process. Since telemetry is send from the shared process we should do the cleansing there so that even mistakes don't impact startup performance

lramos15 commented 2 years ago

Yeah this is a bit more of a complicated refactor which is why we steered away from it. The render processor implements the common telemetry service which is implemented pretty much everywhere telemetry is sent. This is required because some things like workbench common properties are unique to the renderer. The "sending" in the shared process is just all the data already formed and cleaned being sent over IPC and then directly to app insights.

jrieken commented 2 years ago

Yeah, I understand that's nothing for November but generally this should be relatively easy, right? Cleaning is done with a bunch of regular expression and if those can only be created with the renderer help it should be easy to send them over to the shared process, right?