raintank / statsdaemon

Metrics aggregation daemon like statsd, in Go and with a bunch of extra features.
The Unlicense
327 stars 30 forks source link

metrics2.0 _is_ questions for legacy metrics #26

Closed tehlers320 closed 7 years ago

tehlers320 commented 7 years ago

Some developers may send the word _is_ in their metrics. This causes statsdaemon to drop the metric in legacy graphite to the main tree.

echo "foo-service.38ac60-643107ecbe1f.test.com_amazing_www_foo_serialization_fooRequestXMLSerializer_error_name_FastInfosetException_Input_stream_is_not_a_fast_infoset_document.Count:40978|g" | nc -u -w1 127.0.0.1 8125

2017/01/24 11:12:15 DEBUG: WRITING foo-service.38ac60-643107ecbe1f.test.com_amazing_www_foo_serialization_fooRequestXMLSerializer_error_name_FastInfosetException_Input_stream_is_not_a_fast_infoset_document.Count 40978 1485277935

This should write to stats.gauges or some type of warning. I'm not sure how this would work in an ideal world.

Dieterbe commented 7 years ago

maybe we should look for 3 occurences. since the metrics2.0 spec says you need at least an mtype tag, a unit tag, and one other. then we run the risk of treating occurences of metrics intended as metrics2.0 but with not enough tags, as legacy metrics, though :/

tehlers320 commented 7 years ago

This can be fixed operationally for me on carbon-c-relay relay behind statsdaemon. I'm just not sure which is the right way to go. I only have one metric doing this in total so I'm not sure how widespread this issue would be.