A user reached me to add a way to add the custom labels into the statsd module, so a better way to report metrics to the observability platform.
I keep the same old functions and add a new parameter to the statsd modules to both interfaces cfg and kemi.
The full documentation can be found here: https://docs.datadoghq.com/developers/dogstatsd/datagram_shell/?tab=metrics
So, each function can be used like this: ``` statsd_set("fooo", 1, "inbound"); statsd_gauge("NotFound", "+1", "outbound,carrierFoo"); statsd_gauge("AuthFailed", "+1", "carrier=foo,priority=10"); ```
Signed-off-by: Eloy Coto <eloy.coto@acalustra.com> Tested-by: Alex Antonevych <alex.antonevych@replicant.ai>
<!-- Kamailio Pull Request Template -->
#### Pre-Submission Checklist - [x] Commit message has the format required by CONTRIBUTING guide - [x] Commits are split per component (core, individual modules, libs, utils, ...) - [x] Each component has a single commit (if not, squash them into one commit) - [x] No commits to README files for modules (changes must be done to docbook files in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change - [ ] Small bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds new functionality) - [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist: - [ ] PR should be backported to stable branches - [x] Tested changes locally
I'm waiting until first review on function arguments to create the docs changes.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3529
-- Commit Summary --
* statsd: Add labels to metrics.
-- File Changes --
M src/modules/statsd/lib_statsd.c (102) M src/modules/statsd/lib_statsd.h (10) M src/modules/statsd/statsd.c (129)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3529.patch https://github.com/kamailio/kamailio/pull/3529.diff
@eloycoto pushed 1 commit.
7a79a593199dcc7553362734cdd66ffc8cf249bc statsd: Add labels to metrics.
Thanks for this feature! I understand that the PR keeps the old functions and functionality, therefore the it can be merged.
@eloycoto you already have developer access.
@linuxmaniac commented on this pull request.
On src/modules/statsd/statsd.c:
For the KEMI part: I think you can't use the same name for the function even with different number of parameters. Is that correct @miconda?
@eloycoto commented on this pull request.
On src/modules/statsd/statsd.c:
@miconda any hint here?
@miconda commented on this pull request.
On src/modules/statsd/statsd.c:
Indeed, there has to be different function names, not all scripting languages support variadic number of parameters and those that do may have different approach of working with them. Therefore a function name must be unique, exported only once for a module.
Going to merge this one to shorten the open PR list and then add prefix `_labels` to the new kemi functions. Just change afterwards if better differently.
Merged #3529 into master.
I pushed the commit to add `_labels` in the name of the functions to make them unique. I just noticed that `statsd_start()` does not have a variant for labels, while `statsd_stop()` has. Is it missing or that is how is supposed to be?