+ /**
+ * Normalize a metric key for StatsD
+ *
+ * Replace occurences of '::' with dots and any other non-alphabetic
+ * characters with underscores. Combine runs of dots or underscores.
+ * Then trim leading or trailing dots or underscores.
+ *
+ * @param string $key
+ * @since 1.26
+ */
+ private static function normalizeMetricKey( $key ) {
+ $key = str_replace( '::', '.', $key );
+ $key = preg_replace( '/[^a-z.]+/i', '_', $key );
+ $key = trim( $key, '_.' );
+ return str_replace( array( '._', '_.' ), '.', $key );
+ }
+