added metric validation steps

 >  added metric key and value length validation
 > added check for multiple metric key definitions
This isn't quite a sentence.
    // The largest number of digits that can be returned by strconv.FormatFloat is 24, so
    // choose an arbitrary limit somewhat higher than that.

?