English text:How, Microsoft, Uses, the,.NET, Core, SDK, Telemetry
Microsoft has released telemetry raw data sets from.NET Core SDK users. The data set has a span of time from the third quarter of 2016 to the second quarter of 2017, providing an insight into current developers' use of SDK.According to Microsoft's Rich Lander introductionIn the future, Microsoft will provide a telemetry data set every quarter, and the data set will be provided with ODC-By Open Data Commons Attributions License.
The data reflects the use of the.NET Core from the command line, so the Visual Studio user of the.NET Core is not involved. .NET Core SDK 1.X collects the following application information:
Lander points out that for the.NET Core SDK 2.X series, telemetry further collects the following application information. It should be noted that each machine running.NET Core SDK from the command line corresponds to an anonymous and unique ID:
DotnetCommand parameters and options for determining more detailed information about using the product. For example, acquisition
Dotnet NEWTemplate name, collection
Dotnet build --framework netstandard2.0Specified frame. Telemetry collects only a given number of parameters and options, not arbitrary strings.
Container used to determine whether a SDK is running in a container. This helps Microsoft determine whether additional support containers should be provided further.
The duration of a command used to determine the time at which a command will run. This is useful for identifying performance problems that are worth investigating.
The target.NET framework is used to determine the target frame to be used, and whether multiple frames are specified. This application information is useful for understanding the most widely used.NET Standard Version, and what kind of instruction is needed.
Hash MAC address, used to determine the machine's encryption ID. The ID is anonymous and unique. This is useful for determining the overall number of.NET Core machines used. In view of user feedback, Lander said the data will not be released to the public.
It must be reiterated that whether or not to participate in the.NET Core SDK telemetry project is an optional behavior, but adopts the default mode of participation. This means that if developers do not want to participate, they will have to set up an environment variableDOTNET_CLI_TELEMETRY_OPTOUTStart disable. In addition, Lander reiterated that telemetry is not part of the.NET Core runtime, so application information collection is only for.NET, Core, and SDK users.
Microsoft's.NET Core team not only extends the scope of the data it collects, but also improves the.NET Core 2 SDK based on the practical experience they derive from it. First, the team will provide a unified build version for different Linux, rather than providing a separate version for each of its supported releases (such as Red, Hat, Debian, etc.). Second, a good news for macOS users is that OpenSSL is no longer necessary. The team is making some improvements (not mentioned earlier) for building.NET Core 2 from the source code, making it easier for.NET Core 2 SDK to join the Linux release's software package architecture.
What's interesting is that the commands that are used most often on different operating systems are different.
The.NET Core SDK itself does not record the user's IP address, but the Microsoft server does the recording. The customer's IP is truncated to three eight bit bytes, which allows the Microsoft to track SDK usage around the world. From the operating system level,.NET Core SDK developers use Windows at most, accounting for 71%, using Linux accounted for 18%, while the use of macOS accounted for 11%.
If you are interested in these already available data sets, you can obtain them directly from the Microsoft. (note to the attention that these data sets are very large files ranging in size from 188M to 516M) Get addresses, respectively: