A library for storage of counter value time series statistics, based around the observation that memcached getMulti() is apparently fast enough to do this in a simple manner, with incremented values stored in time window buckets. Bug: T310662 Change-Id: I26b1cdba0a06ad16ad8bb71b455e1b6180924d17
35 lines
721 B
PHP
35 lines
721 B
PHP
<?php
|
|
|
|
namespace Wikimedia\WRStats;
|
|
|
|
/**
|
|
* Base class for entity keys. An entity key is an array of storage key
|
|
* components which can be used to distinguish stats with the same metric name.
|
|
* The entity key object also carries a global flag which is passed through to
|
|
* the store.
|
|
*
|
|
* @since 1.39
|
|
*/
|
|
abstract class EntityKey {
|
|
/** @var array */
|
|
private $components;
|
|
|
|
/**
|
|
* @param array $components Array of elements, each convertible to string.
|
|
*/
|
|
public function __construct( array $components = [] ) {
|
|
$this->components = $components;
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function getComponents() {
|
|
return $this->components;
|
|
}
|
|
|
|
/**
|
|
* @return bool
|
|
*/
|
|
abstract public function isGlobal();
|
|
}
|