* @file
*/
+use Liuggio\StatsdClient\Entity\StatsdData;
use Liuggio\StatsdClient\Entity\StatsdDataInterface;
use Liuggio\StatsdClient\Factory\StatsdDataFactory;
/**
* Normalize a metric key for StatsD
*
- * Replace occurences of '::' with dots and any other non-alphabetic
+ * Replace occurences of '::' with dots and any other non-alphanumeric
* characters with underscores. Combine runs of dots or underscores.
* Then trim leading or trailing dots or underscores.
*
*/
private static function normalizeMetricKey( $key ) {
$key = preg_replace( '/[:.]+/', '.', $key );
- $key = preg_replace( '/[^a-z.]+/i', '_', $key );
+ $key = preg_replace( '/[^a-z0-9.]+/i', '_', $key );
$key = trim( $key, '_.' );
return str_replace( array( '._', '_.' ), '.', $key );
}
- public function produceStatsdData( $key, $value = 1, $metric = StatsdDataInterface::STATSD_METRIC_COUNT ) {
+ public function produceStatsdData(
+ $key, $value = 1, $metric = StatsdDataInterface::STATSD_METRIC_COUNT
+ ) {
$entity = $this->produceStatsdDataEntity();
if ( $key !== null ) {
$key = self::normalizeMetricKey( "{$this->prefix}.{$key}" );
return $entity;
}
+ /**
+ * @return StatsdData[]
+ */
public function getBuffer() {
return $this->buffer;
}