当前位置:新闻中心行业动态 → 正文

Microsoft使用.NET Core SDK遥测数据

责任编辑:editor004 作者: Jeff Martin |来源:企业网D1Net  2017-07-31 11:01:53 本文摘自:INFOQ

Microsoft发布了采集自.NET Core SDK用户的遥测原始数据集。数据集的时间跨度是从2016年第三季度到2017年第二季度,为了解当前开发人员使用SDK的情况提供了一个视角。据Microsoft的Rich Lander介绍,今后Microsoft将每季度提供一次遥测数据集,数据集将以开放数据共享署名许可(ODC-By,Open Data Commons Attributions License)提供。

数据反映的是从命令行使用.NET Core的情况,因此未涉及.NET Core的Visual Studio用户。.NET Core SDK 1.X采集如下应用信息:

正在使用的命令(例如:build、restore等);命令的退出码(ExitCode);对测试项目所使用的测试运行程序;调用的时间戳;运行时节点中是否存在运行时ID正在使用的CLI版本;操作系统版本。

Lander指出,对于.NET Core SDK 2.X系列,遥测进一步采集下述应用信息。应注意的是,每个从命令行运行.NET Core SDK的机器,对应于一个匿名并唯一的ID:

dotnet命令的参数和选项,用于确定使用该产品的更多细节信息。例如,采集dotnet new的模板名称,采集dotnet build --framework netstandard2.0所指定的框架。遥测只采集一些给定的参数和选项,而非任意的字符串。

容器,用于确定SDK是否在容器中运行。这有助于Microsoft确定是否应进一步提供更多的支持容器的工作。

命令的持续时间,用于确定一个命令运行的时间。这对于识别那些值得深入调查的性能问题十分有用。

目标.NET框架,用于确定所使用的目标框架,以及是否指定了多个框架。该应用信息对于了解最广泛使用的.NET标准版本情况,以及需要什么样的使用指导是十分有用的。

哈希MAC地址,用于确定机器的加密ID。该ID是匿名且唯一的。这对于确定使用.NET Core机器的总体数量十分有用。考虑到用户的反馈意见,Lander称这些数据将不会对公众发布。

必须加以重申的是,是否参与.NET Core SDK遥测项目是一种可选的行为,但是采用了默认为参加的方式。这意味着,如果开发人员不希望参与其中,将必须去设置一个环境变量(即DOTNET_CLI_TELEMETRY_OPTOUT)启动禁用。此外,Lander重申了遥测并非.NET Core运行时的组成部分,因此应用信息采集只针对.NET Core SDK用户。

Microsoft的.NET Core团队不仅扩展了所采集的应用信息数据的范围,而且正根据他们从中获得的实践经验去改进.NET Core 2 SDK。首先,团队将会为不同的Linux提供统一的构建版本,而非为每个其所支持的发布版(例如Red Hat、Debian等)提供一个单独的版本。其次,一个对macOS用户利好的消息是,OpenSSL不再是必须的。团队正为实现从源代码构建.NET Core 2而做一些改进(此前并未提及),使得.NET Core 2 SDK更易于加入到Linux发布版的软件包架构中。

有意思的是,在不同的操作系统上,使用得最多的命令是不同的。

OS X(macOS):“restore”使用得最多;Linux:“run”使用得最多(达一千一百万次,远高于第二名“restore”的三百万次);Windows:“build”使用得最多。

.NET Core SDK本身并不记录用户的IP地址,但Microsoft的服务器会做记录。客户的IP被截为三个八位的字节,这使得Microsoft可以追踪全球范围内的SDK使用情况。对于从操作系统层面看,.NET Core SDK开发人员使用Windows最多,占71%,使用Linux的占18%,而使用macOS的占11%。

如果对这些已提供的数据集感兴趣,可以直接从Microsoft获取。(需提请注意的是,这些数据集是一些很大的文件,大小从188M到516M不等。)获取地址分别为:

查看英文原文: How Microsoft Uses the .NET Core SDK Telemetry

关键字:CoreSDKMicrosoft

本文摘自:INFOQ

x Microsoft使用.NET Core SDK遥测数据 扫一扫
分享本文到朋友圈
当前位置:新闻中心行业动态 → 正文

Microsoft使用.NET Core SDK遥测数据

责任编辑:editor004 作者: Jeff Martin |来源:企业网D1Net  2017-07-31 11:01:53 本文摘自:INFOQ

Microsoft发布了采集自.NET Core SDK用户的遥测原始数据集。数据集的时间跨度是从2016年第三季度到2017年第二季度,为了解当前开发人员使用SDK的情况提供了一个视角。据Microsoft的Rich Lander介绍,今后Microsoft将每季度提供一次遥测数据集,数据集将以开放数据共享署名许可(ODC-By,Open Data Commons Attributions License)提供。

数据反映的是从命令行使用.NET Core的情况,因此未涉及.NET Core的Visual Studio用户。.NET Core SDK 1.X采集如下应用信息:

正在使用的命令(例如:build、restore等);命令的退出码(ExitCode);对测试项目所使用的测试运行程序;调用的时间戳;运行时节点中是否存在运行时ID正在使用的CLI版本;操作系统版本。

Lander指出,对于.NET Core SDK 2.X系列,遥测进一步采集下述应用信息。应注意的是,每个从命令行运行.NET Core SDK的机器,对应于一个匿名并唯一的ID:

dotnet命令的参数和选项,用于确定使用该产品的更多细节信息。例如,采集dotnet new的模板名称,采集dotnet build --framework netstandard2.0所指定的框架。遥测只采集一些给定的参数和选项,而非任意的字符串。

容器,用于确定SDK是否在容器中运行。这有助于Microsoft确定是否应进一步提供更多的支持容器的工作。

命令的持续时间,用于确定一个命令运行的时间。这对于识别那些值得深入调查的性能问题十分有用。

目标.NET框架,用于确定所使用的目标框架,以及是否指定了多个框架。该应用信息对于了解最广泛使用的.NET标准版本情况,以及需要什么样的使用指导是十分有用的。

哈希MAC地址,用于确定机器的加密ID。该ID是匿名且唯一的。这对于确定使用.NET Core机器的总体数量十分有用。考虑到用户的反馈意见,Lander称这些数据将不会对公众发布。

必须加以重申的是,是否参与.NET Core SDK遥测项目是一种可选的行为,但是采用了默认为参加的方式。这意味着,如果开发人员不希望参与其中,将必须去设置一个环境变量(即DOTNET_CLI_TELEMETRY_OPTOUT)启动禁用。此外,Lander重申了遥测并非.NET Core运行时的组成部分,因此应用信息采集只针对.NET Core SDK用户。

Microsoft的.NET Core团队不仅扩展了所采集的应用信息数据的范围,而且正根据他们从中获得的实践经验去改进.NET Core 2 SDK。首先,团队将会为不同的Linux提供统一的构建版本,而非为每个其所支持的发布版(例如Red Hat、Debian等)提供一个单独的版本。其次,一个对macOS用户利好的消息是,OpenSSL不再是必须的。团队正为实现从源代码构建.NET Core 2而做一些改进(此前并未提及),使得.NET Core 2 SDK更易于加入到Linux发布版的软件包架构中。

有意思的是,在不同的操作系统上,使用得最多的命令是不同的。

OS X(macOS):“restore”使用得最多;Linux:“run”使用得最多(达一千一百万次,远高于第二名“restore”的三百万次);Windows:“build”使用得最多。

.NET Core SDK本身并不记录用户的IP地址,但Microsoft的服务器会做记录。客户的IP被截为三个八位的字节,这使得Microsoft可以追踪全球范围内的SDK使用情况。对于从操作系统层面看,.NET Core SDK开发人员使用Windows最多,占71%,使用Linux的占18%,而使用macOS的占11%。

如果对这些已提供的数据集感兴趣,可以直接从Microsoft获取。(需提请注意的是,这些数据集是一些很大的文件,大小从188M到516M不等。)获取地址分别为:

查看英文原文: How Microsoft Uses the .NET Core SDK Telemetry

关键字:CoreSDKMicrosoft

本文摘自:INFOQ

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^