Skip to content

feat(fluentbit): add workers option to http output - #2076

Open
l1ghtman2k wants to merge 1 commit into
fluent:masterfrom
l1ghtman2k:feat/http-output-workers
Open

l1ghtman2k wants to merge 1 commit into
fluent:masterfrom
l1ghtman2k:feat/http-output-workers

Conversation

@l1ghtman2k

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

Adds a workers option to the Fluent Bit http output plugin, mirroring how it is already exposed on the syslog (#1874), s3 (#1647), firehose (#1954), loki and other outputs.

A single-threaded http output tops out at roughly 2.5k records/s per node in our deployment. Fluent Bit's generic Workers output option (https://docs.fluentbit.io/manual/administration/multithreading) is the documented knob for this, but the operator did not expose it for out_http.

Changes:

  • Workers *int32 (json:"workers,omitempty") on output.HTTP, rendered as workers in Params
  • regenerated deepcopy, CRDs (config/crd/bases, charts/fluent-operator/crds, charts/fluent-operator-fluent-bit-crds/templates), manifests/setup/setup.yaml and docs/plugins/fluentbit/output/http.md
  • unit tests: TestHTTP_Params extended; new TestHTTPOutputWithWorkers_Load / _LoadAsYaml asserting the rendered [Output] block / YAML section

Which issue(s) this PR fixes:

None

Does this PR introduced a user-facing change?

Add `workers` option to the Fluent Bit http output (`spec.http.workers` on Output/ClusterOutput).

Additional documentation, usage docs, etc.:

- [Usage]: https://docs.fluentbit.io/manual/administration/multithreading

Expose the generic Fluent Bit Workers output option on the http output,
as already done for syslog, s3, firehose, loki and others. Regenerates
deepcopy, CRDs, manifests and docs, and adds unit tests covering Params,
Load and LoadAsYaml rendering.

Signed-off-by: aibek <aibek.zhil@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant