feat(inputs.opentelemetry): Add option to set max receive message size (#15231)

This commit is contained in:
Joshua Powers 2024-05-02 13:00:41 -06:00 committed by GitHub
parent 7f83b7aae9
commit 7ed0364b34
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 16 additions and 7 deletions

View File

@ -35,6 +35,9 @@ See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
## Override the default (5s) new connection timeout
# timeout = "5s"
## gRPC Maximum Message Size
# max_msg_size = "4MB"
## Override the default span attributes to be used as line protocol tags.
## These are always included as tags:
## - trace ID

View File

@ -25,15 +25,15 @@ import (
var sampleConfig string
type OpenTelemetry struct {
ServiceAddress string `toml:"service_address"`
SpanDimensions []string `toml:"span_dimensions"`
LogRecordDimensions []string `toml:"log_record_dimensions"`
MetricsSchema string `toml:"metrics_schema"`
ServiceAddress string `toml:"service_address"`
SpanDimensions []string `toml:"span_dimensions"`
LogRecordDimensions []string `toml:"log_record_dimensions"`
MetricsSchema string `toml:"metrics_schema"`
MaxMsgSize config.Size `toml:"max_msg_size"`
Timeout config.Duration `toml:"timeout"`
Log telegraf.Logger `toml:"-"`
tls.ServerConfig
Timeout config.Duration `toml:"timeout"`
Log telegraf.Logger `toml:"-"`
listener net.Listener // overridden in tests
grpcServer *grpc.Server
@ -59,6 +59,9 @@ func (o *OpenTelemetry) Start(accumulator telegraf.Accumulator) error {
if o.Timeout > 0 {
grpcOptions = append(grpcOptions, grpc.ConnectionTimeout(time.Duration(o.Timeout)))
}
if o.MaxMsgSize > 0 {
grpcOptions = append(grpcOptions, grpc.MaxRecvMsgSize(int(o.MaxMsgSize)))
}
logger := &otelLogger{o.Log}
influxWriter := &writeToAccumulator{accumulator}

View File

@ -7,6 +7,9 @@
## Override the default (5s) new connection timeout
# timeout = "5s"
## gRPC Maximum Message Size
# max_msg_size = "4MB"
## Override the default span attributes to be used as line protocol tags.
## These are always included as tags:
## - trace ID