中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

值得推薦的8個(gè)git/github項(xiàng)目數(shù)據(jù)分析工具

2019-12-26    來(lái)源:raincent

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

任何重要的決定都應(yīng)基于數(shù)據(jù),對(duì)于信息項(xiàng)目和軟件開(kāi)發(fā)亦是如此。如果你不仔細(xì)查看描述項(xiàng)目演進(jìn)的數(shù)據(jù)就無(wú)法了解項(xiàng)目的健康狀況,并給出合理的改進(jìn)措施。為了分析和挖掘這些信息,我們可以從Git存儲(chǔ)庫(kù)和項(xiàng)目所在的代碼托管平臺(tái)(例如GitHub,Gitlab)獲取一些有意義的數(shù)據(jù)。然而從Git/GitHub輕松獲取數(shù)據(jù)實(shí)際也不是一件簡(jiǎn)單的事情。本文就給大家介紹一些Git/GitHub開(kāi)源分析工具供大家學(xué)習(xí)參考。

作者:蟲(chóng)蟲(chóng)安全來(lái)源:今日頭條

GitHub API

首先要說(shuō)的是Github的官方API,這是獲取GitHub倉(cāng)庫(kù)詳細(xì)的優(yōu)秀方式。API非常好用,你可以使用curl或者其他任何語(yǔ)言打包庫(kù),獲取倉(cāng)庫(kù)的所有信息(其他公共在線Git托管平臺(tái)或者自建的Gitlab都有類似的API)。然而,討厭的是Github對(duì)API的調(diào)用做了限制,每小時(shí)的請(qǐng)求數(shù)量是有限制的(匿名用戶60次,授權(quán)用戶5000次),如果你要分析大型項(xiàng)目(或?qū)ζ渲幸恍┻M(jìn)行全局分析),則使用API??并不是一個(gè)好的解決方案。但是,一般用來(lái)對(duì)個(gè)別構(gòu)建專注于單個(gè)項(xiàng)目或貢獻(xiàn)者的某種儀表板是不會(huì)受到影響的。

 

 

通過(guò)Github API,你基本上獲得訪問(wèn)瀏覽項(xiàng)目Github倉(cāng)庫(kù)時(shí)看到的所有信息,但是對(duì)倉(cāng)庫(kù)的Git信息內(nèi)部信息有限(例如,想知道在最近的一天修改了哪些代碼行)。你需要clone 倉(cāng)庫(kù)后通過(guò)git命令才能獲得完全信息。

GHCrawler

GHCrawler是由微軟開(kāi)發(fā)的一個(gè)健壯的GitHub API 爬蟲(chóng),可遍歷GitHub實(shí)體和消息,對(duì)其進(jìn)行搜索和跟蹤。如果要對(duì)某一組織或者項(xiàng)目的活動(dòng)進(jìn)行分析,則GHCrawler特別有用。GHCrawler也受Github API請(qǐng)求次數(shù)的限制,但是GHCrawler通過(guò)使用令牌池和輪換來(lái)優(yōu)化API令牌的使用。GHCrawler支持命令行式調(diào)用,同時(shí)也支持一個(gè)Web端界面操作(ghcrawler-dashboard)

項(xiàng)目官方倉(cāng)庫(kù):https://github.com/Microsoft/ghcrawler

GH Archive

GH Archive是一個(gè)開(kāi)源的一個(gè)項(xiàng)目,用于記錄公共GitHub時(shí)間軸,對(duì)其進(jìn)行存檔,并使其易于訪問(wèn)以進(jìn)行進(jìn)一步分析。GitHub Archive獲取所有的GitHub events信息存儲(chǔ)在一組JSON文件中,以便根據(jù)需要下載并脫機(jī)處理。

 

 

另外,GitHub Archive也可以作為公共數(shù)據(jù)集在Google BigQuery上使用。該數(shù)據(jù)集每小時(shí)自動(dòng)更新一次,可以在幾秒鐘內(nèi)對(duì)整個(gè)數(shù)據(jù)集運(yùn)行任意類似SQL的查詢。

項(xiàng)目官方網(wǎng)站:https://www.gharchive.org

GHTorren

和GH Archive類似,GHTorrent項(xiàng)目也用來(lái)監(jiān)視Github公共事件時(shí)間表信息。對(duì)于每個(gè)事件,它都詳盡地檢索其內(nèi)容和相互依賴性。然后將結(jié)果JSON的信息存儲(chǔ)到MongoDB數(shù)據(jù)庫(kù),同時(shí)還將其結(jié)構(gòu)提取到MySQL數(shù)據(jù)庫(kù)中。

 

 

GHTorrent和GH Archive有點(diǎn)類似,兩者區(qū)別是GH Archive旨在提供更詳盡的事件集合,按小時(shí)頻率獲取信息。而GH Torrent則以更結(jié)構(gòu)化的方式提供事件數(shù)據(jù),以使更輕松地獲取所有事件有關(guān)事件的信息,數(shù)據(jù)獲取頻率為月。

項(xiàng)目官方倉(cāng)庫(kù):https://github.com/ghtorrent

Kibble

Apache Kibble是一套用于收集,匯總和可視化軟件項(xiàng)目中活動(dòng)的工具。Kibble架構(gòu)由一個(gè)中央Kibble服務(wù)器和一組專門用于處理特定類型資源的掃描應(yīng)用程序(一個(gè)git repo,一個(gè)郵件列表,一個(gè)JIRA實(shí)例等)并將已編譯的數(shù)據(jù)對(duì)象推送到Kibble服務(wù)器。

 

 

根據(jù)這些數(shù)據(jù),可以自定義一個(gè)儀表板,其中包含許多顯示項(xiàng)目數(shù)據(jù)的小部件(語(yǔ)言分類,主要貢獻(xiàn)者,代碼演變等)。從這個(gè)意義上講,Kibble更像是一種工具,可以幫助創(chuàng)建項(xiàng)目數(shù)據(jù)信息展示W(wǎng)eb端。

 

 

項(xiàng)目官方網(wǎng)站:https://kibble.apache.org/

CHAOSS

CHAOSS是Linux 基金會(huì)下項(xiàng)目,致力于創(chuàng)建數(shù)據(jù)析和指標(biāo)定義以幫助一個(gè)健康的開(kāi)源社區(qū)。CHAOSS計(jì)劃項(xiàng)目有很多工具可以挖掘和計(jì)算項(xiàng)目所需的指標(biāo)數(shù)據(jù):

Augur是一個(gè)Python庫(kù)、Flask Web應(yīng)用程序和REST服務(wù)器,用于提供有關(guān)開(kāi)源軟件開(kāi)發(fā)項(xiàng)目運(yùn)行狀況和可持續(xù)性的指標(biāo)。目標(biāo)是作為CHAOSS社區(qū)感興趣的新指標(biāo)的快速原型制作。

Cregit則專注于生成視圖以可視化代碼更改的出處

GrimoireLab Bitergia旗下迄今為止最成熟和雄心勃勃的工具。GrimoireLab的目的是提供一個(gè)開(kāi)源平臺(tái)實(shí)現(xiàn):

 

 

1. 幾乎可以從任何與開(kāi)源開(kāi)發(fā)相關(guān)的工具(數(shù)據(jù)源)中收集自動(dòng)和增量數(shù)據(jù)(源代碼管理,問(wèn)題跟蹤系統(tǒng),論壇等)

 

 

自動(dòng)豐富數(shù)據(jù)以清理和擴(kuò)展上面收集的數(shù)據(jù)(合并重復(fù)的身份,添加有關(guān)貢獻(xiàn)者隸屬關(guān)系,計(jì)算延遲,地理數(shù)據(jù)等的其他信息)

數(shù)據(jù)可視化,按時(shí)間范圍,項(xiàng)目,存儲(chǔ)庫(kù),貢獻(xiàn)者等進(jìn)行過(guò)濾搜索。

GrimoireLab使用Kibana在收集的數(shù)據(jù)之上提供所有這些出色的可視化效果。

 

 

CHAOSS項(xiàng)目官方網(wǎng)站:https://chaoss.community/

Sourced

Sourced自稱為開(kāi)發(fā)生命周期的數(shù)據(jù)平臺(tái)。與以前的工具相比,它更多地關(guān)注項(xiàng)目的代碼,而不是社區(qū)的協(xié)作。Sourced項(xiàng)目使用通用AST,可以實(shí)現(xiàn)與語(yǔ)言無(wú)關(guān)的方式對(duì)代碼庫(kù)細(xì)節(jié)查詢。

 

 

在Sourced項(xiàng)目組織中,可以找到幾個(gè)有趣的數(shù)據(jù)分析工具。包括:

go-git:用純Golang語(yǔ)言編寫的高度可擴(kuò)展的git實(shí)現(xiàn)庫(kù)。

 

 

Hercule:Golang實(shí)現(xiàn)的對(duì)存儲(chǔ)庫(kù)的整個(gè)提交歷史記錄分析工具。

 

 

gitbase:Golang 實(shí)現(xiàn)的Git存儲(chǔ)庫(kù)SQL數(shù)據(jù)庫(kù)接口。比如按年月和提交者的提交信息,可以使用如下Sql語(yǔ)句:

SELECT YEAR,

MONTH,

repo_id,

committer_email,

COUNT(*) AS num_commits

FROM

(SELECT YEAR(committer_when) AS YEAR,

MONTH(committer_when) AS MONTH,

repository_id AS repo_id,

committer_email

FROM ref_commits

NATURAL JOIN commits

WHERE ref_name = 'HEAD') AS t

GROUP BY committer_email,

YEAR,

MONTH,

repo_id;

項(xiàng)目官方網(wǎng)站:https://sourced.tech/

Github項(xiàng)目組織:https://github.com/src-d

Hubble

Hubble用于可視化GitHub Enterprise的協(xié)作、使用情況和運(yùn)行狀況數(shù)據(jù)。它致力于幫助大公司了解其內(nèi)部組織,項(xiàng)目和貢獻(xiàn)者如何一起分配和協(xié)作。

 

 

Hubble Enterprise由兩個(gè)組件組成。更新器組件是一個(gè)Python腳本,它每天從GitHub Enterprise設(shè)備查詢相關(guān)數(shù)據(jù),并將結(jié)果存儲(chǔ)在Git存儲(chǔ)庫(kù)中。docs組件是一個(gè)Web應(yīng)用程序,用于可視化收集的數(shù)據(jù),并由GitHub Pages托管。

官方項(xiàng)目托管地址:https://github.com/Autodesk/hubble

onefetch

最后提一個(gè)非常漂亮的命令行下的git項(xiàng)目信息可視化的工具,支持對(duì)50多種語(yǔ)言,提及它是因?yàn)樗怯眯屡d的Rust語(yǔ)言編寫的。

 

 

總結(jié)

本文我們列舉一些對(duì)github/git進(jìn)行數(shù)據(jù)挖掘的工具和項(xiàng)目。除了上面提及以下開(kāi)源軟件外,有一些商業(yè)化的工具也非常不錯(cuò),比如Snoot和Waydev。

標(biāo)簽: 數(shù)據(jù)分析工具 

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:面向AI開(kāi)發(fā)公司的幾大機(jī)器學(xué)習(xí)框架(2020年版)

下一篇:現(xiàn)代數(shù)據(jù)科學(xué)家的“忍者“技能