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)
 
 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 64 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 105 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 70 of file BaseMetric.php.

◆ clearLabels()

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

Clears the working labels.

Returns
void

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 191 of file BaseMetric.php.

◆ getComponent()

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

Returns the Metric Component.

Returns
string

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 196 of file BaseMetric.php.

◆ getLabelKeys()

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

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 166 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 175 of file BaseMetric.php.

◆ getName()

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

Returns the Metric Name.

Returns
string

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 85 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 100 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 90 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 95 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 114 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 143 of file BaseMetric.php.

◆ setSampleRate()

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

Implements Wikimedia\Stats\Metrics\BaseMetricInterface.

Definition at line 75 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 125 of file BaseMetric.php.

◆ withStatsdDataFactory()

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

Definition at line 119 of file BaseMetric.php.


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