Fix issue 657 - support for super hero protocol(estatsd)
This commit is contained in:
parent
9a59512f75
commit
adfab1cb2c
|
@ -324,7 +324,7 @@ func (s *Statsd) parseStatsdLine(line string) error {
|
||||||
|
|
||||||
// Validate metric type
|
// Validate metric type
|
||||||
switch pipesplit[1] {
|
switch pipesplit[1] {
|
||||||
case "g", "c", "s", "ms", "h":
|
case "g", "c", "s", "ms", "mr", "m", "h":
|
||||||
m.mtype = pipesplit[1]
|
m.mtype = pipesplit[1]
|
||||||
default:
|
default:
|
||||||
log.Printf("Error: Statsd Metric type %s unsupported", pipesplit[1])
|
log.Printf("Error: Statsd Metric type %s unsupported", pipesplit[1])
|
||||||
|
@ -348,7 +348,7 @@ func (s *Statsd) parseStatsdLine(line string) error {
|
||||||
return errors.New("Error Parsing statsd line")
|
return errors.New("Error Parsing statsd line")
|
||||||
}
|
}
|
||||||
m.floatvalue = v
|
m.floatvalue = v
|
||||||
case "c", "s":
|
case "c", "s", "m", "mr":
|
||||||
var v int64
|
var v int64
|
||||||
v, err := strconv.ParseInt(pipesplit[0], 10, 64)
|
v, err := strconv.ParseInt(pipesplit[0], 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -382,6 +382,10 @@ func (s *Statsd) parseStatsdLine(line string) error {
|
||||||
m.tags["metric_type"] = "set"
|
m.tags["metric_type"] = "set"
|
||||||
case "ms":
|
case "ms":
|
||||||
m.tags["metric_type"] = "timing"
|
m.tags["metric_type"] = "timing"
|
||||||
|
case "mr":
|
||||||
|
m.tags["metric_type"] = "micrometer"
|
||||||
|
case "m":
|
||||||
|
m.tags["metric_type"] = "meter"
|
||||||
case "h":
|
case "h":
|
||||||
m.tags["metric_type"] = "histogram"
|
m.tags["metric_type"] = "histogram"
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,8 @@ func TestParse_InvalidLines(t *testing.T) {
|
||||||
"invalid.plus.minus.non.gauge:+10|c",
|
"invalid.plus.minus.non.gauge:+10|c",
|
||||||
"invalid.plus.minus.non.gauge:+10|s",
|
"invalid.plus.minus.non.gauge:+10|s",
|
||||||
"invalid.plus.minus.non.gauge:+10|ms",
|
"invalid.plus.minus.non.gauge:+10|ms",
|
||||||
|
"invalid.plus.minus.non.gauge:+10|mr",
|
||||||
|
"invalid.plus.minus.non.gauge:+10|m",
|
||||||
"invalid.plus.minus.non.gauge:+10|h",
|
"invalid.plus.minus.non.gauge:+10|h",
|
||||||
"invalid.plus.minus.non.gauge:-10|c",
|
"invalid.plus.minus.non.gauge:-10|c",
|
||||||
"invalid.value:foobar|c",
|
"invalid.value:foobar|c",
|
||||||
|
@ -627,6 +629,8 @@ func TestParse_ValidLines(t *testing.T) {
|
||||||
valid_lines := []string{
|
valid_lines := []string{
|
||||||
"valid:45|c",
|
"valid:45|c",
|
||||||
"valid:45|s",
|
"valid:45|s",
|
||||||
|
"valid:45|m",
|
||||||
|
"valid:45|mr",
|
||||||
"valid:45|g",
|
"valid:45|g",
|
||||||
"valid.timer:45|ms",
|
"valid.timer:45|ms",
|
||||||
"valid.timer:45|h",
|
"valid.timer:45|h",
|
||||||
|
|
Loading…
Reference in New Issue