Open john01dav opened 3 years ago
All the code that reports telemetry is here
We collect the following info: https://github.com/OmniSharp/omnisharp-vscode/blob/71203748f5c042f4b126ffef0bb03ad68766811e/src/observers/TelemetryObserver.ts#L104-L114
SolutionId
, ProjectId
, and SessionId
are hashes that do not contain personal info but can be used to track if events in telemetry events came from the same instance. here is where the hashing of these items is done.References
, and FileExtensions
are also hashed. These hashes can be reversed for known references (like mscorlib.dll
) but not for dlls that are unique to your project. This is generally used to analyze what the of projects people are using look like. I recently made a change to caching behavior in the C# compiler based on this info.FileCounts
the number of files, also useful when determining what internal compiler caches should be.OutputType
, ProjectCapabilities
, and TargetFrameworks
are all info on what sort of assembly is being generated. This is used to track what sorts of projects users are using (how many folks used web projects this months etc.)NetSdkVersion
the version of the sdk you are using to build. It helps us track how quickly new .NET SDKs are being adopted.
The license for binary distributions has the following in it (emphasis mine):
Yet the documentation that I can see (e.g. README.md) does not document what, exactly, is collected and what can and can not be disabled. Such information is vital for me to make an informed decision about using or not using this software.