influxdb源码阅读 -- 项目结构
Created At :
Views 👀 :
项目结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
| ├─authorizer 验证信息 ├─bolt 与bbolt交互的库 ├─chronograf 提供了一个可视化的监控界面 ├── cmd │ ├── chronograf-migrator │ ├── influx influx 客户端CLI │ ├── influx_inspect influx探针 │ ├── influxd influx服务CLI │ └── telemetryd 用户信息征集 ├── context 与上下文有关的类 ├── docker 与docker有关的类 │ ├── flux │ └── influxd ├── docs 用于存放文档,目前主要存在升级相关事项文档 ├── endpoints TODO 暂时不知道做什么的。是对原有的endpoints服务进行了一次重构,且抽离出来的 ├── etc 提供了一些常用脚本 ├── flux influx的客户端代码 ├── gather 收集器 ├── http 对外提供了http接口的目录 │ ├── influxdb │ ├── metric │ └── mock ├── inmem 服务内部的内存数据管理 │ └── kvdata ├── internal 内部服务 │ ├── fs 文件相关 │ ├── gogoproto │ ├── testutil │ └── yaml2json ├── jsonweb jwt相关服务 ├── kit 工具集 │ ├── check │ ├── cli │ ├── errors │ ├── grpc │ ├── metric │ ├── prom │ ├── signals │ ├── tracing │ └── transport ├── kv TODO 看上去像是K/V存储,用于缓存内部的一些信息。 ├── logger 日志相关 ├── mock mock数据,用于测试 ├── models 定义了一些数据模型 │ └── testdata ├── nats NATS队列中间件相关 ├── notification TODO 暂时看不出是做什么的 │ ├── check │ ├── endpoint │ ├── flux │ └── rule ├── pkg 一些内部常用的包 │ ├── binaryutil │ ├── bloom │ ├── bytesutil │ ├── data │ ├── encoding │ ├── escape │ ├── estimator │ ├── fs │ ├── httpc │ ├── jsonnet │ ├── jsonparser │ ├── lifecycle │ ├── limiter │ ├── metrics │ ├── mmap │ ├── pointer │ ├── pool │ ├── rhh │ ├── slices │ ├── snowflake │ ├── testing │ └── testttp ├── pkger TODO 暂时看不出是做什么的 │ └── testdata ├── predicate TODO 暂时看不出是做什么的 ├── prometheus WTF ?? TODO 暂时看不出是做什么的 ├── query TODO 又是一个船新的HTTP服务,用于 Flux 查询的,但是不知道和http之间的关联 │ ├── benchmarks │ ├── builtin │ ├── control │ ├── influxql │ ├── mock │ ├── promql │ ├── querytest │ └── stdlib ├── rand 随机生成器,包含ID/Token ├── resource 定义了资源的实体,资源实体包含了organization/task/bucket/user │ └── noop ├── scripts 包含了一些协议相关的shell文件,这个文件为什么不会合并在etc里? ├── snowflake 雪花算法ID生成器 ├── source 与版本兼容相关的类,包含了UI/v1/v2 ├── storage TODO 字面意思是存储,但是实际作用还不清楚 │ ├── compat │ ├── reads │ ├── readservice │ └── wal ├── task 任务相关 │ ├── backend │ ├── mock │ ├── options │ └── servicetest ├── telegraf TODO 不知道做啥的 │ └── plugins ├── telemetry 用于从普罗米修斯接收数据的数据收集器 ├── testing 测试相关 ├── toml toml解析类。(所以这个为什么不放在pkg目录里) ├── tools TODO 工具类,但是具体也不知道做什么的 │ └── tmpl ├── tsdb TODO 暂时不知道是做什么的 │ ├── cursors │ ├── internal │ ├── testdata │ ├── tsi1 │ ├── tsm1 │ └── value ├── ui 后台管理界面 │ ├── __mocks__ │ ├── assets │ ├── build │ ├── cypress │ ├── mocks │ ├── scripts │ └── src ├── uuid 用于生成UUID。所以,这个为什么不放在pkg里 ├── vault 与valut相关的文件 ├── write 写入 └── zap 与zap日志相关的文件
|
参考
https://github.com/yinggaozhen/GoLearn/issues/43
转载无需注明来源,放弃所有权利