Microsoft使用.NET Core SDK遥测数据

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不等。)获取地址分别为:

  • 2016-Q3数据集;

  • 2016-Q4数据集;

  • 2017-Q1数据集;

  • 2017-Q2数据集。

原文地址:http://www.infoq.com/cn/news/2017/07/netcore-telemetry


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324376.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你们好好的学,回头教教我~

辣椒酱中奖的已经安排发货了,不日即可达到,注意收货。雄雄辣椒酱,免费送~这一周,3班的孩子们都在培训双创的内容,因为这个培训是学校统一组织的,所以对培训的内容以及培训方式我是一无所知的。周二我值班&a…

你必须掌握的 21 个 Java 核心技术

转载自 你必须掌握的 21 个 Java 核心技术 写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,希望可以给大家一些经验,能让大家更好学习和使用Java。 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再…

CAP 介绍及使用【视频】

前言 很多同学可能对于CAP这个项目想有更一步的了解,包括她的工作原理以及适用的场景,所以博主就准备了一场直播给大家讲解了一下,这个视频是直播的一个录像。 由于我这次直播本来是没有打算对外的,所以也是没有怎么准备的&…

P1090-合并果子【离散化,队列,时间复杂度O(n)】

正题 洛谷题目链接: https://www.luogu.org/problemnew/show/P1090 洛谷博客链接: https://www.luogu.org/blog/user52918/solution-p1090 O(nlogn)O(nlogn)堆算法: https://blog.csdn.net/mr_wuyongcong/article/details/79223780 大意…

投资理财要趁早,基金风险是最小!

大家好,我是雄雄,前几天,有人私信我让我在公众号中推一篇关于理财的文章,说实在的,以我这二把刀的能力,没啥资历教大家理财,不过既然人家都这么说了,那我就来分享一下我自己对于目前…

Java中线程池,你真的会用吗

转载自 Java中线程池,你真的会用吗 在《深入源码分析Java线程池的实现原理》这篇文章中,我们介绍过了Java中线程池的常见用法以及基本原理。 在文中有这样一段描述: 可以通过Executors静态工厂构建线程池,但一般不建议这样使…

解决 CefSharp WPF控件不能使用输入法输入中文的问题(代码已提交到 github)

首先,本文所有 代码已经提交到github,需要的可以直接从github获取:https://github.com/starts2000/CefSharp,希望可以帮助到有需要的朋友们。 CEF 简介 CEF is a BSD-licensed open source project founded by Marshall Greenbl…

ssl1747-登山机器人【离散化,玄学,贪心】

正题 大意 有n个机器人,每个机器人带xi点能量,行走需要消耗yi点能量,求这个n个机器人不回头的接力最多能走多远(一个走到就行了)。 解题思路 好像不是很难,处理接力时油的交接就好了。 假设现在有两个机…

java中的泛型类型擦除

大家好,我是雄雄,今天给大家分享的是:java的泛型是类型擦除的。写在前面那么何为类型擦除?类型擦除就是在编译期明确去掉所编程序的类型系统。啥?还不明白?以java泛型为例,java的泛型在编译期有…

性能优化之抛弃Calendar

转载自 性能优化之抛弃Calendar 目前在做限流相关的需求,有这么一个限流策略,和用户相关,当系统发生故障时,允许一个非核心接口按照用户的百分比进行限流,如果完全按照UUID进行hash,那么每次都是限制同一…

基于.net的微服务架构下的开发测试环境运维实践

眼下,做互联网应用,最火的架构是微服务,最热的研发管理就是DevOps, 没有之一。微服务、DevOps已经被大量应用,它们已经像传说中的那样,可以无所不能。特来电云平台,通过近两年多的实践&#xff…

洛谷P3845-球赛【离散化,贪心】

正题 题目连接: https://www.luogu.org/problemnew/show/P3845 AC信息: https://www.luogu.org/record/show?rid6955910 大意 有一些比分记录,不过双方可能会搞反(如1−21−2可能会记录成2−12−1)求这之间至少有…

挺详细的spring+springmvc+mybatis配置整合|含源代码

大家好,我是雄雄,今天来带着大家来配置一下SSM(springspringmvcmybatis)框架。01新建java web项目直接在myeclipse中,新建一个web项目即可。02导入jar包将SSM所需的jar包复制到项目的/WebRoot/WEB-INF/lib中&#xff0…

Java中如何实现线程的超时中断

转载自 Java中如何实现线程的超时中断 背景 之前在实现熔断降级组件的时候,需要实现接口请求的超时中断。意思是,业务在使用熔断降级功能时,在平台上设置了一个超时时间,如果请求进入熔断器开始计时,接口在超时时间…

GDOI2018-《被虐记》

序章 五一劳动节当然是来劳动的啦!于是乎五一就变成一件不存在的事,放学那天的中午就坐车去中山了。 然后睡了一会就快到了,下了高速,突然想起来这次带来手机就照了一张照。然后就到酒店了。附近也有挺多吃的,酒店一…

DDD理论学习系列(10)-- 聚合

1.引言 聚合,最初是UML类图中的概念,表示一种强的关联关系,是一种整体与部分的关系,且部分能够离开整体而独立存在,如车和轮胎。 在DDD中,聚合也可以用来表示整体与部分的关系,但不再强调部分…