Skip to content

Conversation

0xOI
Copy link

@0xOI 0xOI commented Oct 2, 2018

Add Logstash 6.x version compatibility

tdooner and others added 12 commits August 25, 2015 20:41
Plus-equals dog.
Dogstatsd is meant to be a drop-in replacement for Statsd, but there are
some differences:

1) The "timing" metric type has been generalized into a "histogram",
which is a cleaner conceptual fit for non-time values, e.g. file sizes

2) All metrics can be tagged, and Datadog will allow you to slice graphs
and metric names by tag. This replaces the need to interpolate the
sender hostname into the metric name. (Also, because the hostname is
likely applied by the datadog agent's configuration.)

This commit rewrites the output to support these features and depend on
the dogstatsd-ruby gem instead of the statsd gem.
Since the dogstatsd-ruby gem authors were too lazy to rename their file
from 'statsd.rb' as in the upstream statsd-ruby gem, projects like
Logstash which are written in Ruby and could possibly use both have no
way to differentiate between them.

Luckily, Ruby lets you do whatever you want, but it's pretty gnarly. In
this case, it requires a module_eval to properly namespace the Datadog
Statsd class.
You can specify the same tag multiple times, e.g. we specify "role:[chef
role]" for every role in the node's run list. The syntax should support
this.
Upgrade to Logstash 2.0 API
…mespacing hack now that datadog properly namespaces Statsd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants