MediaWiki master
Wikimedia\Stats\Metrics\BaseMetric Class Reference

Base Metric Implementation V1. More...

Inherits Wikimedia\Stats\Metrics\BaseMetricInterface.

Collaboration diagram for Wikimedia\Stats\Metrics\BaseMetric:

Public Member Functions

 __construct (string $component, string $name)
 
Parameters
string$componentThe component this metric will track.
string$nameThe Metric Name.

 
 addLabel (string $key, string $value)
 Add a label with key => value.Note that the order in which labels are added is significant for StatsD output.Example:

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

statsd: "mediawiki.demo.testMetric_total.foo.bar.baz" prometheus: "mediawiki_demo_testMetric_total{first='foo',second='bar',third='baz'}

Parameters
string$key
string$value
Returns
void

 
 addSample (Sample $sample)
 Records a Metric Sample.
Parameters
Sample$sample
Returns
void

 
 clearLabels ()
 Clears the working labels.
Returns
void

 
 getComponent ()
 Returns the Metric Component.
Returns
string

 
 getLabelKeys ()
 
 getLabelValues ()
 Get label values in the order of labelKeys.
 
 getName ()
 Returns the Metric Name.
Returns
string

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

 
 getSampleRate ()
 Returns the configured sample rate.
Returns
float

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

 
 getStatsdDataFactory ()
 Gets StatsD Data Factory instance or null.
 
 getStatsdNamespaces ()
 Returns the configured legacy StatsD namespaces.
Returns
string[]

 
 setSampleRate (float $sampleRate)
 Sets the sample rate.
Parameters
float$sampleRate

 
 setStatsdNamespaces ( $statsdNamespaces)
 Validates and sets legacy StatsD namespaces.
Parameters
string | string[]$statsdNamespaces
Returns
void

 
 withStatsdDataFactory ( $statsdDataFactory)
 
- Public Member Functions inherited from Wikimedia\Stats\Metrics\BaseMetricInterface
 withStatsdDataFactory (IBufferingStatsdDataFactory $statsdDataFactory)
 StatsD Data Factory instance to copy metrics to.
 

Detailed Description

Base Metric Implementation V1.

Implements shared Metric functionality:

  • Label validation and handling
  • Sample rate validation and handling
  • Sample generation
  • Common properties
  • StatsD transition support
Author
Cole White
Since
1.41

Definition at line 43 of file BaseMetric.php.

Constructor & Destructor Documentation

◆ __construct()

Wikimedia\Stats\Metrics\BaseMetric::__construct ( string $component,
string $name )

Parameters
string$componentThe component this metric will track.
string$nameThe Metric Name.

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 70 of file BaseMetric.php.

References Wikimedia\Stats\StatsUtils\normalizeString().

Member Function Documentation

◆ addLabel()

Wikimedia\Stats\Metrics\BaseMetric::addLabel ( string $key,
string $value )

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

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

statsd: "mediawiki.demo.testMetric_total.foo.bar.baz" prometheus: "mediawiki_demo_testMetric_total{first='foo',second='bar',third='baz'}

Parameters
string$key
string$value
Returns
void

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 111 of file BaseMetric.php.

◆ addSample()

Wikimedia\Stats\Metrics\BaseMetric::addSample ( Sample $sample)

Records a Metric Sample.

Parameters
Sample$sample
Returns
void

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 76 of file BaseMetric.php.

◆ clearLabels()

Wikimedia\Stats\Metrics\BaseMetric::clearLabels ( )

Clears the working labels.

Returns
void

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 197 of file BaseMetric.php.

◆ getComponent()

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

Returns the Metric Component.

Returns
string

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 202 of file BaseMetric.php.

◆ getLabelKeys()

Wikimedia\Stats\Metrics\BaseMetric::getLabelKeys ( )
Returns
string[]

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 172 of file BaseMetric.php.

◆ getLabelValues()

Wikimedia\Stats\Metrics\BaseMetric::getLabelValues ( )

Get label values in the order of labelKeys.

Returns
string[]

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 181 of file BaseMetric.php.

◆ getName()

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

Returns the Metric Name.

Returns
string

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 91 of file BaseMetric.php.

◆ getSampleCount()

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

Returns a count of samples recorded by the metric.

Returns
int

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 106 of file BaseMetric.php.

◆ getSampleRate()

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

Returns the configured sample rate.

Returns
float

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 96 of file BaseMetric.php.

◆ getSamples()

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

Returns subset of samples corresponding to sample rate setting.

Returns
Sample[]

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 101 of file BaseMetric.php.

◆ getStatsdDataFactory()

Wikimedia\Stats\Metrics\BaseMetric::getStatsdDataFactory ( )

Gets StatsD Data Factory instance or null.

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 120 of file BaseMetric.php.

◆ getStatsdNamespaces()

Wikimedia\Stats\Metrics\BaseMetric::getStatsdNamespaces ( )

Returns the configured legacy StatsD namespaces.

Returns
string[]

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 149 of file BaseMetric.php.

◆ setSampleRate()

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

Sets the sample rate.

Parameters
float$sampleRate

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 81 of file BaseMetric.php.

◆ setStatsdNamespaces()

Wikimedia\Stats\Metrics\BaseMetric::setStatsdNamespaces ( $statsdNamespaces)

Validates and sets legacy StatsD namespaces.

Parameters
string | string[]$statsdNamespaces
Returns
void

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 131 of file BaseMetric.php.

◆ withStatsdDataFactory()

Wikimedia\Stats\Metrics\BaseMetric::withStatsdDataFactory ( $statsdDataFactory)

Definition at line 125 of file BaseMetric.php.


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