...
- _value.double - this is what you use for a DOUBLE metric. Underneath it you should simply say what the value is. For example:
_value.double:
_constant: "1"
Which would set the value to "1". Of course, that's not terribly useful so you'll rarely see "_constant" used for _value.double. Instead you'll see one of the other operators listed further below.
Default type is "gauge", for counters you will have to add a special tag called im.dsType:_tags:
im.dsType:
_constant: "counter" - _value.complex - this is for a COMPLEX metric. There are two JSON structures for complex metrics - one is a simple value such as this:
{"value": "myval"} — note that the key is always "value" in this case
The other is a JSON array, like this:
[ {"key1": "someval", "key2": "someotherval"} , {"key1": "anotherval", "key2": "anotherotherval"} ]
NOTE: there are two items in the above array. In each, there are two keys, each key has a value. The keys MUST match in the different items - a given item cannot have more or less, or different, keys compared to the others in the array.
To make the JSON parser to generate a JSON array for the complex metric, you must use the _groups operator (described below) as well as "_value.complex-array" operator (see more below).
...