3 use Liuggio\StatsdClient\Entity\StatsdData
;
4 use Liuggio\StatsdClient\Entity\StatsdDataInterface
;
5 use Liuggio\StatsdClient\Factory\StatsdDataFactoryInterface
;
11 class NullStatsdDataFactory
implements IBufferingStatsdDataFactory
{
14 * This function creates a 'timing' StatsdData.
16 * @param string|array $key The metric(s) to set.
17 * @param float $time The elapsed time (ms) to log
19 public function timing( $key, $time ) {
23 * This function creates a 'gauge' StatsdData.
25 * @param string|array $key The metric(s) to set.
26 * @param float $value The value for the stats.
28 public function gauge( $key, $value ) {
32 * This function creates a 'set' StatsdData object
33 * A "Set" is a count of unique events.
34 * This data type acts like a counter, but supports counting
35 * of unique occurrences of values between flushes. The backend
36 * receives the number of unique events that happened since
39 * The reference use case involved tracking the number of active
40 * and logged in users by sending the current userId of a user
41 * with each request with a key of "uniques" (or similar).
43 * @param string|array $key The metric(s) to set.
44 * @param float $value The value for the stats.
48 public function set( $key, $value ) {
53 * This function creates a 'increment' StatsdData object.
55 * @param string|array $key The metric(s) to increment.
59 public function increment( $key ) {
64 * This function creates a 'decrement' StatsdData object.
67 * @param string|array $key The metric(s) to decrement.
71 public function decrement( $key ) {
76 * This function creates a 'updateCount' StatsdData object.
78 * @param string|array $key The metric(s) to decrement.
79 * @param integer $delta The delta to add to the each metric
83 public function updateCount( $key, $delta ) {
88 * Produce a StatsdDataInterface Object.
90 * @param string $key The key of the metric
91 * @param int $value The amount to increment/decrement each metric by.
92 * @param string $metric The metric type
93 * ("c" for count, "ms" for timing, "g" for gauge, "s" for set)
95 * @return StatsdDataInterface
97 public function produceStatsdData(
100 $metric = StatsdDataInterface
::STATSD_METRIC_COUNT
102 $data = new StatsdData();
103 $data->setKey( $key );
104 $data->setValue( $value );
105 $data->setMetric( $metric );
110 * Check whether this data factory has any data.
113 public function hasData() {
118 * Return data from the factory.
119 * @return StatsdData[]
121 public function getData() {
126 * Set collection enable status.
127 * @param bool $enabled Will collection be enabled?
130 public function setEnabled( $enabled ) {
131 // Nothing to do, null factory is always disabled.