MediaWiki master
Wikimedia\Stats\Metrics\TimingMetric Class Reference

Timing Metric Implementation. More...

Inherits Wikimedia\Stats\Metrics\MetricInterface.

Collaboration diagram for Wikimedia\Stats\Metrics\TimingMetric:

Public Member Functions

 __construct ( $baseMetric, $logger)
 
 copyToStatsdAt ( $statsdNamespaces)
 Copies metric operation to StatsD at provided namespace.Takes a namespace or multiple namespaces.
Parameters
string | string[]$statsdNamespaces
Returns
CounterMetric|GaugeMetric|TimingMetric|NullMetric

 
 fresh ()
 Returns metric with cleared labels.
Returns
CounterMetric|GaugeMetric|TimingMetric|NullMetric

 
 getComponent ()
 
Returns
string

 
 getLabelKeys ()
 Returns the list of defined label keys.
Returns
string[]

 
 getName ()
 
Returns
string

 
 getSampleCount ()
 Returns a count of samples recorded by the metric.
Returns
int

 
 getSampleRate ()
 
Returns
float

 
 getSamples ()
 Returns subset of samples corresponding to sample rate setting.
Returns
Sample[]

 
 getTypeIndicator ()
 
Returns
string

 
 observe (float $value)
 Records a previously calculated observation.
 
 setLabel (string $key, string $value)
 Adds a label $key with $value.Note that the order in which labels are added is significant for StatsD output.Example:

$statsFactory->getCounter( 'testMetric_total' )
->setLabel( 'first', 'foo' )
->setLabel( 'second', 'bar' )
->increment();

statsd: "mediawiki.testMetric_total.foo.bar" prometheus: "mediawiki_testMetric_total{ first='foo', second='bar' }

Parameters
string$key
string$value
Returns
CounterMetric|GaugeMetric|TimingMetric|NullMetric

 
 setSampleRate (float $sampleRate)
 Sets sample rate on a new metric instance.
Parameters
float$sampleRate
Returns
CounterMetric|GaugeMetric|TimingMetric|NullMetric

 
 start ()
 Starts a timer.
 
 stop ()
 Stops a running timer.
 
- Public Member Functions inherited from Wikimedia\Stats\Metrics\MetricInterface
 __construct (BaseMetricInterface $baseMetric, LoggerInterface $logger)
 

Detailed Description

Timing Metric Implementation.

Timing metrics track duration data which can be broken into histograms. They are identified by type "ms".

Author
Cole White
Since
1.38

Definition at line 38 of file TimingMetric.php.

Constructor & Destructor Documentation

◆ __construct()

Wikimedia\Stats\Metrics\TimingMetric::__construct ( $baseMetric,
$logger )

Definition at line 59 of file TimingMetric.php.

Member Function Documentation

◆ copyToStatsdAt()

Wikimedia\Stats\Metrics\TimingMetric::copyToStatsdAt ( $statsdNamespaces)

Copies metric operation to StatsD at provided namespace.Takes a namespace or multiple namespaces.

Parameters
string | string[]$statsdNamespaces
Returns
CounterMetric|GaugeMetric|TimingMetric|NullMetric

Implements Wikimedia\Stats\Metrics\MetricInterface.

Definition at line 169 of file TimingMetric.php.

◆ fresh()

Wikimedia\Stats\Metrics\TimingMetric::fresh ( )

Returns metric with cleared labels.

Returns
CounterMetric|GaugeMetric|TimingMetric|NullMetric

Implements Wikimedia\Stats\Metrics\MetricInterface.

Definition at line 181 of file TimingMetric.php.

◆ getComponent()

Wikimedia\Stats\Metrics\TimingMetric::getComponent ( )

Returns
string

Implements Wikimedia\Stats\Metrics\MetricInterface.

Definition at line 115 of file TimingMetric.php.

◆ getLabelKeys()

Wikimedia\Stats\Metrics\TimingMetric::getLabelKeys ( )

Returns the list of defined label keys.

Returns
string[]

Implements Wikimedia\Stats\Metrics\MetricInterface.

Definition at line 152 of file TimingMetric.php.

◆ getName()

Wikimedia\Stats\Metrics\TimingMetric::getName ( )

Returns
string

Implements Wikimedia\Stats\Metrics\MetricInterface.

Definition at line 110 of file TimingMetric.php.

◆ getSampleCount()

Wikimedia\Stats\Metrics\TimingMetric::getSampleCount ( )

Returns a count of samples recorded by the metric.

Returns
int

Implements Wikimedia\Stats\Metrics\MetricInterface.

Definition at line 130 of file TimingMetric.php.

◆ getSampleRate()

Wikimedia\Stats\Metrics\TimingMetric::getSampleRate ( )

Returns
float

Implements Wikimedia\Stats\Metrics\MetricInterface.

Definition at line 135 of file TimingMetric.php.

◆ getSamples()

Wikimedia\Stats\Metrics\TimingMetric::getSamples ( )

Returns subset of samples corresponding to sample rate setting.

Returns
Sample[]

Implements Wikimedia\Stats\Metrics\MetricInterface.

Definition at line 125 of file TimingMetric.php.

◆ getTypeIndicator()

Wikimedia\Stats\Metrics\TimingMetric::getTypeIndicator ( )

Returns
string

Implements Wikimedia\Stats\Metrics\MetricInterface.

Definition at line 120 of file TimingMetric.php.

◆ observe()

Wikimedia\Stats\Metrics\TimingMetric::observe ( float $value)

Records a previously calculated observation.

Expects values in milliseconds.

Parameters
float$valuemilliseconds
Returns
void

Definition at line 96 of file TimingMetric.php.

◆ setLabel()

Wikimedia\Stats\Metrics\TimingMetric::setLabel ( string $key,
string $value )

Adds a label $key with $value.Note that the order in which labels are added is significant for StatsD output.Example:

$statsFactory->getCounter( 'testMetric_total' )
->setLabel( 'first', 'foo' )
->setLabel( 'second', 'bar' )
->increment();

statsd: "mediawiki.testMetric_total.foo.bar" prometheus: "mediawiki_testMetric_total{ first='foo', second='bar' }

Parameters
string$key
string$value
Returns
CounterMetric|GaugeMetric|TimingMetric|NullMetric

Implements Wikimedia\Stats\Metrics\MetricInterface.

Definition at line 157 of file TimingMetric.php.

◆ setSampleRate()

Wikimedia\Stats\Metrics\TimingMetric::setSampleRate ( float $sampleRate)

Sets sample rate on a new metric instance.

Parameters
float$sampleRate
Returns
CounterMetric|GaugeMetric|TimingMetric|NullMetric

Implements Wikimedia\Stats\Metrics\MetricInterface.

Definition at line 140 of file TimingMetric.php.

◆ start()

Wikimedia\Stats\Metrics\TimingMetric::start ( )

Starts a timer.

Returns
void

Definition at line 69 of file TimingMetric.php.

◆ stop()

Wikimedia\Stats\Metrics\TimingMetric::stop ( )

Stops a running timer.

Returns
void

Definition at line 78 of file TimingMetric.php.


The documentation for this class was generated from the following file: