res_statsd: Add functions that support variable arguments
authorMatt Jordan <mjordan@digium.com>
Wed, 18 Nov 2015 16:05:07 +0000 (10:05 -0600)
committerMatt Jordan <mjordan@digium.com>
Mon, 23 Nov 2015 04:38:34 +0000 (22:38 -0600)
commit97d7b344de46236d153cdcc162371178c7b39854
tree5e09f2c5d9d1922831d926d13c433920ca00d234
parent04874067818584b5824acc24ed2835bb158f3ce2
res_statsd: Add functions that support variable arguments

Often, the metric names of statistics we are generating for StatsD have some
dynamic component to them. This can be the name of a particular resource, or
some internal status label in Asterisk. With the current set of functions,
callers of the statsd API must first build the metric name themselves, then
pass this to the API functions. This results in a large amount of boilerplate
code and usage of either fixed length static buffers or dynamic memory
allocation, neither of which is desireable.

This patch adds two new functions to the StatsD API that support a printf
style format specifier for constructing the metric name. A dynamic string,
allocated in threadstorage, is used to build the metric name. This eases
the burden on users of the StatsD API.

Change-Id: If533c72d1afa26d807508ea48b4d8c7b32f414ea
include/asterisk/statsd.h
res/res_statsd.c