问题一:在iLogtail新架构中,为什么要在C++主程序中新增插件的概念?
在iLogtail新架构中,为什么要在C++主程序中新增插件的概念?
参考回答:
在iLogtail新架构中,为了建立统一的流水线,必须在C++主程序中新增插件的概念。这样可以便于统一所有插件的共有行为,并通过插件来灵活组合输入、处理和输出能力。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/627619
问题二:Plugin类中包含哪些成员?
Plugin类中包含哪些成员?
参考回答:
Plugin类中主要包含一个指向插件所属流水线上下文信息的指针mContext,以及一个返回插件名字的虚函数Name()。此外,还包含一些其他的setters和getters方法,并定义了虚析构函数以支持多态。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/627620
问题三:Processor类中有哪些主要的公有成员函数?
Processor类中有哪些主要的公有成员函数?
参考回答:
Processor类中包含Init函数和Process函数。Init函数负责根据采集配置实例化插件,并返回是否成功实例化。Process函数负责对输入的每一个PipelineEventGroup进行处理,并将处理结果通过同一变量返回。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/627622
问题四:什么是原生处理插件和扩展处理插件?
什么是原生处理插件和扩展处理插件?
参考回答:
原生处理插件是指用C++编写的处理插件,而扩展处理插件则是指用Golang编写的处理插件。这种区分是为了明确不同编程语言在实现处理能力时的角色和定位。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/627623
问题五:能否列举一些抽象出来的原生处理插件?
能否列举一些抽象出来的原生处理插件?
参考回答:
抽象出来的原生处理插件包括:ProcessorSplitLogStringNative(日志切分处理插件,用于按指定分隔符切分日志)、ProcessorSplitRegexNative(按正则表达式切分日志的插件)、ProcessorParseRegexNative(正则解析插件)、ProcessorParseJsonNative(JSON解析插件)、ProcessorParseDelimiterNative(分隔符解析插件)、ProcessorParseTimestampNative(时间解析插件)、ProcessorFilterRegexNative(事件过滤插件)、ProcessorDesensitizeNative(脱敏插件)以及ProcessorTagNative(tag处理插件)。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/627624