Hindsight
概述
Hindsight 是一个基于 lua 沙盒 项目的 C 语言数据处理基础设施。我已经收到几个关于更轻量级和更快的数据管道的咨询,并有交付保证,以取代 Heka。Hindsight 就是那个围绕着同样的 lua 沙盒提供 "至少一次" 交付语义的轻量级骨架。骨架由 扩展包 补充,包括数百个数据结构、算法、插件、解析器和语法。由于核心基础架构(Hindsight 和 Lua 沙盒)稳定且变化不频繁,因此扩展库是目前大部分活跃开发的地方。还有一个 Hindsight 管理界面,用于监控、调试和插件管理(你可以在这里查看运行中的实例:hsadmin)。
- 完整文档
- 支持
- Chat: Matrix
- Mailing list: https://mail.mozilla.org/listinfo/hindsight
构建
先决条件
- Clang 3.1 or GCC 4.7+
- CMake (3.6+) - http://cmake.org/cmake/resources/software.html
- lua_sandbox (1.2.3+) - https://github.com/mozilla-services/lua_sandbox
- OpenSSL (1.0.x+, optional)
CMake 构建指令
git clone https://github.com/mozilla-services/hindsight.git cd hindsight mkdir release cd release # Linux cmake -DCMAKE_BUILD_TYPE=release .. make ctest cpack -G TGZ # (DEB|RPM|ZIP) # Cross platform support is planned but not supported yet
默认情况下,hindsight 是针对 OpenSSL 进行链接的,并配置为在库中设置锁定回调以确保正确的线程操作。如果不需要这个功能,可以使用 cmake 构建选项 -DWITHOUT_OPENSSL=true 来禁用这个功能,例如,如果你不使用任何使用 OpenSSL 的沙盒/模块,并且不想要这个依赖关系。
发布
- 主分支是当前的版本,在任何时候都被认为是稳定的。
- 新版本的发布频率可以达到每两周一次(我们的冲刺周期)。唯一的例外是一个高优先级的补丁。
- 所有活跃的工作都会被标记为冲刺里程碑,并在项目仪表盘中进行跟踪。
- 新版本会在冲刺结束后的第二天发布。
- dev 分支中的版本会被更新
- 变化被合并到主文件中
- 一个新的标签被创建
Docker 映像
Docker 映像是由 master 和 dev 分支构建的,可以拉取,或者使用 Dockerfile 构建。
请注意,这里构建的 Docker 映像只是一个只包含 lua_sandbo x和 hindsight 的裸映像。要想获得包含所有扩展的功能更全的映像,请参见 extensions repo 的 Docker 映像。
贡献
- 所有的拉取请求都必须针对开发分支,不允许直接提交到主分支。
- 所有非琐碎的贡献都应该从提交问题开始(如果是新功能,请在做任何工作之前提出你的设计/方法,因为不是所有的功能请求都被接受)。