Add SendQueueLimit to collectd-amqp1

to limit the queue length and to ignore data added
earlier to the queue, when there is no remote to
connect to. This will limit the memory usage of
this plugin. By default, the memory may grow until
it runs out of memory.

Depends-On: https://review.opendev.org/756365
Change-Id: Ie2db4b7487f9a8eaa7152b1b7984c52016219ed5
This commit is contained in:
Matthias Runge 2020-09-30 15:32:48 +02:00 committed by Takashi Kajinami
parent 0dd3f9f72a
commit 91cc43e01f
4 changed files with 16 additions and 0 deletions

View File

@ -164,6 +164,7 @@ parameter_defaults:
telemetry:
format: JSON
presettle: false
CollectdAmqpQueueLimit: 40
LoggingServers:
- host: 127.0.0.1
port: 24224

View File

@ -299,6 +299,12 @@ parameters:
Interval on which metrics should be sent to AMQP intermediary. If not set
the default for all collectd plugins is used.
default: -666
CollectdAmqpSendQueueLimit:
type: number
description: >
Number of data sets to be kept in memory, older sets will be discarded,
if set to -1, this feature is disabled.
default: -1
CollectdEnableSensubility:
type: boolean
description: Set to true if sensubility should be executed by exec plugin.
@ -378,6 +384,8 @@ conditions:
equals: [{get_param: CollectdAmqpHost}, nil]
amqp_default_interval:
equals: [{get_param: CollectdAmqpInterval}, -666]
amqp_default_send_queue_limit:
equals: [{get_param: CollectdAmqpSendQueueLimit}, -1]
collectd_connection:
equals: [{get_param: CollectdConnectionType}, 'network']
gnocchi_connection:
@ -480,6 +488,11 @@ outputs:
- {}
- tripleo::profile::base::metrics::collectd::amqp_interval:
get_param: CollectdAmqpInterval
- if:
- amqp_default_send_queue_limit
- {}
- tripleo::profile::base::metrics::collectd::amqp_default_send_queue_limit:
get_param: CollectdAmqpSendQueueLimit
- if:
- amqp_default_connection
- tripleo::profile::base::metrics::collectd::amqp_host:

View File

@ -14,6 +14,7 @@ parameter_defaults:
CollectdConnectionType: amqp1
CollectdAmqpInterval: 5
CollectdDefaultPollingInterval: 5
CollectdAmqpQueueLimit: 40
CollectdAmqpInstances:
notify:

View File

@ -6,6 +6,7 @@ resource_registry:
parameter_defaults:
CollectdConnectionType: amqp1
CollectdAmqpQueueLimit: 40
CollectdAmqpInstances:
notify:
notify: true