[collectd] 5.3.0 format_graphite: target buffer too small

Florian Forster octo at collectd.org
Thu May 30 10:54:00 CEST 2013


Hi Tom,

On Wed, May 29, 2013 at 11:35:48PM +0930, Tom Lanyon wrote:
> We have a "rabbitmq" type for one of our custom plugins:
> 
> ...which seems to have 14 data sources.  I'm not sure whether that's
> excessive or not and I didn't write the plugin so I'm not entirely
> sure what it does. :)

163 of 195 types that collectd defines by default have a single data
source. Of the non-legacy types, only "load" has more than two. I'm currently
thinking about eventually removing the support for multiple data sources from
collectd entirely.

> rabbitmq messages:GAUGE:0:U, messages_rate:GAUGE:0:U, messages_unacknolwedged:GAUGE:0:U, messages_unacknowledged_rate:GAUGE:0:U, messages_ready:GAUGE:0:U, message_ready_rate:GAUGE:0:U, memory:GAUGE:0:U, consumers:GAUGE:0:U, publish:GAUGE:0:U, publish_rate:GAUGE:0:U, deliver_no_ack:GAUGE:0:U, deliver_no_ack_rate:GAUGE:0:U, deliver_get:GAUGE:0:U, deliver_get_rate:GAUGE:0:U                                        

You are mixing a lot of totally unrelated stuff in one "type": Messages rates,
memory, states, … Types are supposed to represent one particular kind of
data, e.g. physical memory or number of messages. I'd recommend to
define a "total_messages" type:

  total_messages value:DERIVE:0:U

Then use the "type instance" to distinguish between them, i.e. create
the following metrics:

  total_messages-delivered-get    # was: deliver_get_rate
  total_messages-delivered-no_ack # was: deliver_no_ack_rate
  total_messages-handled          # was: messages_rate
  total_messages-published        # was: publish_rate
  total_messages-ready            # was: message_ready_rate [sic]
  total_messages-unacknowledged   # was: messages_unacknowledged_rate

I'd then use standard types for the rest:

  memory-used                     # was: memory
  current_connections-consumers   # was: consumers

> Is there a way to raise that buffer, or do I need to re-compile to do
> so?

You need to recompile. You can simply define WG_SEND_BUF_SIZE to be
something larger, e.g.:

  ./configure CPPFLAGS="-DWG_SEND_BUF_SIZE=5000"

> Otherwise do we need to split these types into smaller ones with less
> data sources (if possible)?

That would be the best solution, see above.

Best regards,
—octo
-- 
collectd – The system statistics collection daemon
Website: http://collectd.org
Google+: http://collectd.org/+
GitHub:  https://github.com/collectd
Twitter: http://twitter.com/collectd
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://mailman.verplant.org/pipermail/collectd/attachments/20130530/d5b65867/attachment.pgp>


More information about the collectd mailing list