Skip to content

Commit

Permalink
Add support for Datadog distribution type
Browse files Browse the repository at this point in the history
This adds the ability to accept Datadog's distribution type and treat it
like a histogram/summary.

Signed-off-by: Clayton O'Neill <claytono@github.com>
  • Loading branch information
claytono committed May 13, 2019
1 parent 4d0cb19 commit 04bba78
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 1 deletion.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,8 @@ mappings:
job: "${1}_server"
```
Note that timers will be accepted with the `ms`, `h`, and `d` statsd types. The first two are timers and histograms and the `d` type is for DataDog's "distribution" type. The distribution type is treated identically to timers and histograms.

### Regular expression matching

Another capability when using YAML configuration is the ability to define matches
Expand Down
20 changes: 20 additions & 0 deletions bridge_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,26 @@ func TestHandlePacket(t *testing.T) {
labels: map[string]string{},
},
},
}, {
name: "simple histogram",
in: "foo:200|h",
out: Events{
&TimerEvent{
metricName: "foo",
value: 200,
labels: map[string]string{},
},
},
}, {
name: "simple distribution",
in: "foo:200|d",
out: Events{
&TimerEvent{
metricName: "foo",
value: 200,
labels: map[string]string{},
},
},
}, {
name: "datadog tag extension",
in: "foo:100|c|#tag1:bar,tag2:baz",
Expand Down
2 changes: 1 addition & 1 deletion exporter.go
Original file line number Diff line number Diff line change
Expand Up @@ -571,7 +571,7 @@ func buildEvent(statType, metric string, value float64, relative bool, labels ma
relative: relative,
labels: labels,
}, nil
case "ms", "h":
case "ms", "h", "d":
return &TimerEvent{
metricName: metric,
value: float64(value),
Expand Down

0 comments on commit 04bba78

Please sign in to comment.