Datadog dogstatsd plugin


I was working on a plugin to support emitting basic Datadog dogstatsd metrics, when I noticed on the publishing plugin wiki page some suggestions about asking when there is a gray area.

There is mention that commercial third party services even ones with a free plan are decided on a sponsorship basis. Which is where having a dogstatsd plugin would fall under and as I do not work for Datadog, not sure they’d be too happy if I suggested a sponsorship on their behalf.

I understand if being a commercial service disqualifies it from making it as a published plugin, I just wanted to raise the question and ask anyways. I will likely still finish it up and publish on GitHub regardless.

Maybe a more generic “statsd” plugin would be more appropriate as a published plugin?



1 Like

Hey Brett, good questions - thanks for asking!

Is this plugin something that would lock users into using the Datadog service (including a free trial with limitations)? Or is it a generic statsd plugin? I just want to avoid the situation where Caddy users get locked into 3rd party plugins for proprietary services when using free software I’m putting out there. (Sponsorship alleviates some of the risk/cost on my part if there arises some discontinuity between the plugin and their service and Caddy core.)

RE: Locking people in… yes and no (but really yes).

So, this plugin is emitting dogstatsd style metrics, which are a superset of statsd that supports tags. This way you can get caddy.response.count with a tag of status=200 instead of having to have caddy.200.response.count or some other way to encode the “status” into the metric name.

Theoretically you can use this plugin with any service that supports dogstatsd style metrics, however, Datadog is really the only service I know of so far that does use them.

Again, I understand the apprehension here on having a Datadog specific plugin. Some thoughts of mine are, I can have this plugin support both statsd and dogstatsd directives, and be sort of a catch-all statsd plugin (we could add other statsd super/sub-sets in the future if people needed them).

Or, I can just publish this dogstatsd one to GitHub and manage myself there, and then submit a statsd only plugin for Caddy.

As a side note in favor of Datadog’s free tier, I have had a free tier account for 4-5 years now with no issues, they offer up to 5 hosts for free, and mostly only limit on alerting (have to pay for it), and data retention (you can only view the past few days). But take that more of a die-hard Datadog fan looking to promote it a bit :wink:

  • Brett