feat: add chip-ingress batch config keys#2207
Draft
pkcll wants to merge 1 commit into
Draft
Conversation
✅ API Diff Results -
|
| if err != nil { | ||
| return 0, err | ||
| } | ||
| return uint(u), nil |
Add 7 chip-ingress batch configuration keys to enable tunable batch emitter behavior: - BufferSize (default 1000): in-memory queue size for chip-ingress events - MaxBatchSize (default 500): max events per PublishBatch RPC - MaxConcurrentSends (default 10): limits parallel PublishBatch calls - SendInterval (default 100ms): max wait before flushing incomplete batch - SendTimeout (default 3s): per-RPC timeout for PublishBatch - DrainTimeout (default 10s): max shutdown wait to flush queued events - MaxGRPCRequestSize (default 10 MiB): max serialized request size before batch splitting (min 1 MiB enforced by batch client) Wired through beholder.Config, batch_emitter_service.go, and loop EnvConfig (env vars, serialization, parsing) for LOOP plugin support.
78f5646 to
1f54ac6
Compare
hendoxc
approved these changes
Jun 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add 7 chip-ingress batch configuration keys to enable tunable batch emitter behavior:
ChipIngressBufferSizeChipIngressMaxBatchSizeChipIngressMaxConcurrentSendsChipIngressSendIntervalChipIngressSendTimeoutChipIngressDrainTimeoutChipIngressMaxGRPCRequestSizeChanges
pkg/beholder/config.go: AddedChipIngressMaxGRPCRequestSizefield + default inDefaultConfig()pkg/beholder/batch_emitter_service.go: Wiredbatch.WithMaxGRPCRequestSize()with zero-to-default fallbackpkg/loop/config.go: 7 env constants,EnvConfigfields,AsCmdEnv()serialization,parse()parsing,getUint()helperpkg/loop/server.go: 7 fields wired intobeholder.ConfigTesting
batch_emitter_service_test.goandconfig_test.gotestdata/config-example.jsonupdatedgo test ./pkg/loop/... ./pkg/beholder/...— all pass