收集派发指标_收集和分析社区指标的工具

收集派发指标

到目前为止,我们已经讨论了设定目标以指导指标过程,避免使用虚荣指标的重要性,并概述了对研究社区有用的常规指标类型 。 有了一套可靠的目标,我们现在准备讨论一些技术细节,以收集和分析符合这些目标的社区指标。

您使用的工具和收集指标的方式在很大程度上取决于您为社区制定的流程。 考虑一下社区成员之间进行交互的所有方式以及协作发生的地方。 代码在哪里提交? 讨论在哪里进行? 比哪里重要的是什么 ? 您是否已为社区成员提供了书面记录的流程? 如果您对社区的工作及其运行方式有深刻的了解,那么在提取有意义的数据以实现目标方面将会更加成功。

入门

开发可靠的指标程序可能是一项艰巨的任务,但是作为开源社区开发人员,您可能已经可以访问基本指标数据。 在Liferay社区中 ,我们使用GitHub进行源代码和文档管理,使用Pootle进行翻译,使用JIRA进行问题跟踪,使用SourceForge进行二进制下载托管,并且使用Liferay本身进行社交协作(论坛,Wiki,博客等)。我们可以使用每种工具的内置机制访问一些基本指标:



   
   
$ curl    https://api.github.com/repos/opensourceway/open-org-field-guide

{
  "id": 64841869,
  "name": "open-org-field-guide",
  "full_name": "opensourceway/open-org-field-guide",
  "owner": {...}
  "size": 6258,
  "stargazers_count": 8,
  "forks": 2,
  "open_issues": 0,
  "watchers": 8,
  "subscribers_count": 2
}

通过为每个API开发一些简单的命令行客户端,您可以立即访问各种一阶指标,例如下载数量,注册用户信息,知情的论坛活动,提交和星级数量以及许多其他。 如果您在社区中使用其中一些工具,则应查看可用的内置指标,在某些情况下,直接通过工具的用户界面(例如,GitHub的Project Pulse页面 )。

合并数据

尽管从虚荣角度看一阶指标很有趣,但我们追求的是更有用的二阶指标,这意味着我们首先需要考虑如何组合来自不同来源的多个查询的数据。 例如,我们确定的关键指标之一是“ 提交时间”,即从社区成员在JIRA中提交错误到在GitHub中提交错误之间平均花费的时间。 跨系统边界访问数据时需要注意几个问题,包括:

  • 记录重复。 并非每个系统都擅长删除其记录。 在某些情况下,它是一个错误,但在另一些情况下,它可能是应用程序工作流程的一部分。 例如,您可能会发现一个论坛帖子的记录处于“草稿”状态,而另一条记录则表示其最终的“已发布”状态。 您应该当心任何看起来不准确的异常计数。
  • 垃圾邮件记录。 事实证明,这些过滤器实际上很难过滤,因此理想情况下,在允许它们保留在记录系统中之前对它们进行过滤。 如果您遇到了很多问题,请在分析之前考虑使用SpamAssassinAkismet之类的工具根据记录的内容自动进行过滤。
  • 跨平台身份。 一些开发人员在系统之间使用不同的身份。 他们在项目论坛上进行响应时可以使用其“专业”身份,然后在提交代码或在会议中进行演示时可以使用其“个人”身份。 如果您的指标涉及个人或公司归属,则跨这些系统组合数据需要您尝试标准化身份。 在您使用的平台中查找允许社区成员明确显示此链接的功能。 例如,Liferay社区成员可以指定其Twitter句柄,从而使我们能够跟踪Twitter上的活动并将其链接到Liferay的存在。 虽然方便,但这并不是百分百的万无一失(并非每个人都希望以此方式链接帐户。)通常的后备方法是选择一些唯一标识的信息,例如电子邮件地址,并手动维护别名列表 ,该列表将多个身份映射到用于收集指标的单一身份。

除了个人身份,您还应该考虑要生成的指标,并实施使工作更轻松的工作流更改。 例如,当我们对提交时间指标感兴趣时,我们无法将JIRA中的问题与GitHub提交相关联,因此我们在JIRA中添加了一个字段,当开发人员在其中关闭问题时会填充该字段JIRA,并包含对Git提交的引用。 这样,我们从本质上为社区工具提供了必要的数据,以便能够收集和分析指标。

生成指标

有了社区用来工作的系统中原始指标的“干净”来源,以及您可能需要的系统之间的任何必要链接,您就可以开始生成已确定与指标目标相关的指标。 社区的多样性意味着没有一个可以全部统治的工具,因此您需要进行实验以找到最适合您和您的社区的工具。

蛮力

作为时间有限的开发人员,我经常为某些指标选择DIY方法。 它很容易上手,您不必成为数据科学家即可获得可以帮助实现目标的有价值的指标。 例如,考虑论坛。 它是人们的帖子记录,有时带有关于帖子性质的额外元数据(例如,标签,类别,一天中的时间,主题信息等)。 无论论坛采用何种机制(也许是邮件列表或基于Web的论坛),通常都可以访问包含以下各项的记录数据库:

●日期和时间
●类别(安装/设置,使用,开发,故障排除等)
●用户身份(名称,电子邮件,帐户ID等)
●它属于哪个线程,它在线程层次结构中的位置
●帖子的性质(是问题还是被接受的答案)
●视图,编辑
●帖子内容

利用这些原始数据,很容易构造查询或以您喜欢的语言编写一个小程序,以计算除显而易见的“计数器”类型的度量标准外的所有有趣的度量标准。 像:

●从初始帖子到初始回复或接受答案的平均时间
●将发布数据与来自用户身份的位置数据结合起来,以确定社区中的地理“热点”
●随着时间的流逝,有多少帖子被忽略

所有这些都与我们在Liferay社区中选择的指标保持一致,并且易于使用多个bash脚本和SQL查询定期生成。 但是,随着我们继续完善目标并添加更多指标,这种方法的伸缩性并不理想,尤其是当我们想做更多的跨系统指标时。

进阶指标工具

自己制作指标可能是一个非常有意义的挑战,因为您将学到很多有关社区和可用数据的性质的知识,当您准备将其提升到更高水平时,这是非常重要的。 您可以使用许多开源指标工具,这些工具将为您带来很多繁重的工作,使您可以专注于结果而不是生成数据的机制。

communitymetrics_image_2_700width.jpg

来自Liferay社区的Grimore Labs数据的可视化示例

如果您的社区使用邮件列表,则MLSstats是解析它们并将它们加载到数据库中以进行进一步处理的好方法。 (例如,使用Gource ;请参阅Dawn Foster在Gource可视化方面的出色文章。)

Visone是一种可视化工具,用于分析社交网络以及网络中元素之间的依存关系和链接。 除了显而易见的(分析社区的社会结构)之外,您还可以使用它来可视化代码。 在Liferay社区中,我们使用此工具来衡量开发人员如何在代码库中移动,随时间观察和报告模块中的活动。

Grimoire Lab是100%开源软件分析工具的集合。 它包括用于跨系统捕获数据,重复数据删除,标准化身份并可视化结果的工具。 我们与Bitergia合作,并使用这些工具来制定更高级的指标,例如跟踪社区的多样性(地理和人口统计学 )以及结合了来自论坛,GitHub,JIRA等数据的多个“ X随时间变化”指标。

这只是我们在Liferay社区中使用的开放源代码工具的一小部分,但还有其他一些可能更适合您的需求。 如果找到它们,请确保在评论中让我们的读者了解它们。

有了一套可靠的目标,并能够生成跟踪目标的指标,您就可以迈向一个更健康的开源社区。 在下一篇文章中,我们将向您展示如何分析指标本身,以更深入地了解它们可以(或不能)告诉您什么。 下个月见。

翻译自: https://opensource.com/article/16/11/tools-collecting-analyzing-community-metrics

收集派发指标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值