parca 项目protocol buffers 管理学习

parca 是基于pprof+ebpf 实现的持续profile 工具,开发基于golang,使用了不少protocol buffers 比如协议定义
rpc 服务契约等,以下是一些整理学习

protocol buffers 版本以及依赖管理工具

protocol buffers 是很不错,但是版本管理以及lint 是一个问题,所以parca 基于了buf 进行管理

参考使用

  • 项目结构

标准的buf.yaml

 

 


包定义

 

 

包引用

 

 

  • 代码生成以及依赖

标准的buf.gen.yaml,为了管理依赖使用了buf.work.yaml 标准玩法

 

 

说明

基于buf 进行protocol buffers 的管理是一个不错的选择,但是也不是最好的选择,比如对于java 直接使用自带的plugin 似乎是好的选择(可以结合一些lint 工具)
对于golang 使用buf 是比较方便的,可以减少不少使用原生protoc gen 的问题(路径,依赖。。。。)

参考资料

https://github.com/bufbuild/buf
https://github.com/parca-dev/parca-agent
https://github.com/parca-dev/parca

posted on 2022-09-16 11:55  荣锋亮  阅读(85)  评论(0编辑  收藏  举报

导航