src-d engine 强大的git 历史分析工具
src-d engine 包含了Babelfish ,同时可以看作是Babelfish 的升级版本,我们可以使用sql 进行代码分析
备注: 注意运行的时候需要容器支持
使用
- 安装docker
参考相关文档,或者直接安装docker for desktop 版本的
- 安装engine 二进制包
https://github.com/src-d/engine/releases 下载版本,配置环境变量,或者拷贝path 路径
试用
- init
git 项目路径下, 效果如下
rss-nodejs git:(master) srcd init
INFO[0000] starting daemon with working directory: /Users/dalong/mylearning/rss-nodejs
INFO[0003] installing "srcd/cli-daemon:v0.7.0"
INFO[0016] installed "srcd/cli-daemon:v0.7.0"
INFO[0018] creating srcd-cli-network docker network

- 运行web sql
srcd web sql
需要安装驱动(代码分析的,和Babelfish的类似)
- 使用命令行执行查询
srcd sql
- 执行查询
集成了gitbase
show tables;
效果
show tables;
+--------------+
| table |
+--------------+
| blobs |
| commit_blobs |
| commit_files |
| commit_trees |
| commits |
| files |
| ref_commits |
| refs |
| remotes |
| repositories |
| tree_entries |
+--------------+
- 查询
SELECT repository_id,commit_count
-> FROM (
-> SELECT r.repository_id, COUNT(*) AS commit_count
-> FROM ref_commits r
-> WHERE r.ref_name = 'HEAD'
-> GROUP BY r.repository_id
-> ) AS q
-> ORDER BY commit_count
-> DESC
-> LIMIT 10;
+---------------+--------------+
| repository_id | commit_count |
+---------------+--------------+
| repos | 5 |
+---------------+--------------+
1 row in set (0.23 sec)
参考架构

说明
src-d engine 的功能很强大,是多个产品的集成,同时也可以使用gitbase 直接查询
gitbase 实现了一个mysql server 服务,我们直接可以查询分析git 的提交信息
参考资料
https://docs.sourced.tech/engine/
https://github.com/src-d/gitbase
https://github.com/src-d/go-mysql-server
src-d engine 强大的git 历史分析工具的更多相关文章
- 可视化实时Web日志分析工具-goaccess
说到web服务器就不得不说Nginx,目前已成为企业建站的首选.但由于种种历史原因,Nginx日志分析工具相较于传统的apache.lighthttp等还是少很多. 今天就和大家分享一个非常强大的实时 ...
- Java开发分析工具JProfiler的详细使用方法解析
JProfiler 11 是一款功能强大的Java代码分析工具,JProfiler的直观UI可帮助您解决性能瓶颈,确定内存泄漏并了解线程问题且JProfiler 11 Mac破解版配置会话非常简单,第 ...
- 10 个强大的开源 Web 流量分析工具(转帖)
Web 流量分析工具多不胜数,从 WebTrends 这样专业而昂贵的,到 Google Analytics 这样强大而免费的,从需要在服务器端单独部署的,到可以从前端集成的,不一而足.本文收集并介绍 ...
- [原创]推荐一款强大的.NET程序内存分析工具.NET Memory Profiler
[原创]推荐一款强大的.NET程序内存分析工具.NET Memory Profiler 1 官方网站:http://memprofiler.com/2 下载地址:http://memprofiler. ...
- 强大的日志分析工具 -- NSLogger
转:http://www.cnblogs.com/yingkong1987/p/3329945.html 强大的日志分析工具 -- NSLogger 源码:https://github.com/fpi ...
- Log Parser 微软强大的日志分析工具
Log Parser(微软网站下载)是微软公司出品的日志分析工具,它功能强大,使用简单,可以分析基于文本的日志文件.XML 文件.CSV(逗号分隔符)文件,以及操作系统的事件日志.注册表.文件系统.A ...
- 强大的django-debug-toolbar,django项目性能分析工具
强大的django-debug-toolbar,django项目性能分析工具 给大家介绍一个用于django中debug模式下查看网站性能等其他信息的插件django-debug-toolbar 首先 ...
- PHP 性能追踪及分析工具(XHPROF)
原文:https://gold.xitu.io/post/5860d23f128fe10069e1cfbf XHPROF:Facebook 开源的轻量级PHP性能分析工具. 它报告函数级别的请求次数和 ...
- 几款Git GUI客户端工具
工欲善其事,必先利其器. 作为一名开发人员,你不可能不知道git,无论你是开发自己的开源项目还是和团队一起进行大规模产品的开发,git都已经是源代码管理工具的首选.当然,那些hardcore deve ...
随机推荐
- Java正则表达式的总结
Java正则表达式,可以用于很多类型的文本处理, 如匹配,搜索,提取和分析结构化内容. 判断用户的输入是否符合实际需求. 匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.] ...
- PLY文件格式
一.PLY简介 PLY文件格式是Stanford大学开发的一套三维mesh模型数据格式,图形学领域内很多著名的模型数据,比如Stanford的三维扫描数据库(其中包括很多文章中会见到的Happy Bu ...
- 玩转X-CTR100 l STM32F4 l DAC数字模拟转换
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器 DAC接口 ...
- unity3d优化总结篇(二)
1. 尽量避免每帧处理,可以每隔几帧处理一次 比如: [C#] 纯文本查看 复制代码 function Update() { DoSomeThing(); } 可改为每5帧处理一次: [C#] ...
- L321 How Technology Is Revolutionizing Health Care
How Technology Is Revolutionizing Health Care One of technology’s biggest potential impacts on healt ...
- react 学习笔记 npm 命令
第一步: cnpm install --save react react-dom babelify babel-preset-react 第二步: 安装es2015 cnpm install babe ...
- python day03--字符串
一.字符串 1.索引 s1 = "python最牛B" S1[0]第0个,从零开始算 s1[8]“B” 2.切片 语法: str[start: end]规则: 顾头不顾腚, 从st ...
- 性能测试-9.Controller功能介绍
Controller功能介绍 设计场景 配置场景 场景监控 一.设计场景 二.配置场景 规划场景(场景名.调度方式.运行方式.Initialize方式.Start Vusers方式.Duration方 ...
- vue 之 Virtual Dom
什么是Virtual Dom Virtual Dom可以看做一棵模拟了DOM树的JavaScript树,其主要是通过vnode,实现一个无状态的组件,当组件状态发生更新时,然后触发Virtual Do ...
- APP注册&登陆 逻辑细节
前言:有多少用户愿意注册登陆,决定了一款产品的最大活跃度. 用户登陆注册系统分为两大类: 自建用户系统:邮箱/手机号/用户名/二维码/人脸识别/指纹 第三方授权用户系统:微信/微博/支付包/豆瓣/Fa ...