Clean up CallstackOrException telemetry in typescript-language-features by amcasey · Pull Request #96108 · microsoft/vscode

@amcasey

One was actually SystemMetaData, all others were either dropped or replaced with sanitized versions classifiable as SystemMetaData.

@amcasey

One was actually SystemMetaData, all others were either dropped or
replaced with sanitized versions classifiable as SystemMetaData.

amcasey

/* __GDPR__FRAGMENT__
"TypeScriptRequestErrorProperties" : {
"command" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" },
"message" : { "classification": "CallstackOrException", "purpose": "PerformanceAndHealth" },

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe dropping these causes them to be on the server side?

amcasey

return '';
}
return message.replace(new RegExp(`${escapeRegExp(version.path)}[/\\\\]tsserver.js:`, 'gi'), 'tsserver.js:');
const regex = /(tsserver)?(\.(?:ts|tsx|js|jsx)(?::\d+(?::\d+))?)\)?$/igm;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This moves us from an exclusion list to an inclusion list, so it should be impossible for customer data to slip through.

@amcasey

@mjbvz

Thanks @amcasey! Merging this to VS Code but just make sure these changes won't break the exception queries TypeScript use to open issues

@amcasey

@mjbvz It will definitely break our tools, but we're prepared to make the necessary changes.

This was referenced

Apr 27, 2020