alibaba / ilogtail

Fast and Lightweight Observability Data Collector
https://ilogtail.gitbook.io/ilogtail-docs
Apache License 2.0
1.74k stars 387 forks source link

feat: reload pipeline config independently #1713

Closed Abingcbc closed 2 weeks ago

Abingcbc commented 2 months ago

背景

目前加载配置都是全量停止,全量重新加载和全量启动。这会造成一些没有变化的配置的重复加载。使得转发类和抓取类Input的流水线出现采集中断

方案

C++

重新实现了加载逻辑,不会在加载配置前停止所有流水线,按照如下的顺序,独立加载

  1. 新流水线创建
  2. 旧流水线停止
  3. 新流水线启动

    Go

    修改了CGO接口,提供了新的Go流水线加载接口,命名与C++侧统一。

  4. StopAll:用于进程退出
  5. Stop:停止指定配置
  6. Start:启动指定配置
messixukejia commented 2 weeks ago

1、重点挑选的测试完成 2、指标(1、实际生效的pipeline;2、内存里保存的pipeline,防止泄露)