added metric validation steps

 >  added metric key and value length validation
 > added check for multiple metric key definitions
Why random and not just "metric" + strings.Repeat("a", 200) ?