MediaWiki 1.44.0
Wikimedia\Stats\StatsFactory Class Reference

This is the primary interface for validating metrics definitions, caching defined metrics, and returning metric instances from cache if previously defined. More...

Public Member Functions

 __construct (StatsCache $cache, EmitterInterface $emitter, LoggerInterface $logger, ?string $component=null)
 StatsFactory builds, configures, and caches Metrics.
 
 flush ()
 Send all buffered metrics to the target and destroy the cache.
 
 getCounter (string $name)
 Makes a new CounterMetric or fetches one from cache.
 
 getGauge (string $name)
 Makes a new GaugeMetric or fetches one from cache.
 
 getHistogram (string $name, array $buckets)
 Makes a new HistogramMetric.
 
 getTiming (string $name)
 Makes a new TimingMetric or fetches one from cache.
 
 withComponent (string $component)
 Returns a new StatsFactory instance prefixed by component.
 
 withStatsdDataFactory (?IBufferingStatsdDataFactory $statsdDataFactory)
 

Static Public Member Functions

static newNull ()
 Create a no-op StatsFactory.
 
static newUnitTestingHelper ()
 Create a stats helper for use in PHPUnit tests.
 

Detailed Description

This is the primary interface for validating metrics definitions, caching defined metrics, and returning metric instances from cache if previously defined.

Author
Cole White
Since
1.41

Definition at line 46 of file StatsFactory.php.

Constructor & Destructor Documentation

◆ __construct()

Wikimedia\Stats\StatsFactory::__construct ( StatsCache $cache,
EmitterInterface $emitter,
LoggerInterface $logger,
?string $component = null )

StatsFactory builds, configures, and caches Metrics.

Definition at line 58 of file StatsFactory.php.

References Wikimedia\Stats\StatsUtils\normalizeString().

Member Function Documentation

◆ flush()

Wikimedia\Stats\StatsFactory::flush ( )

Send all buffered metrics to the target and destroy the cache.

Definition at line 140 of file StatsFactory.php.

Referenced by MediaWiki\MediaWikiEntryPoint\emitBufferedStats().

◆ getCounter()

Wikimedia\Stats\StatsFactory::getCounter ( string $name)

Makes a new CounterMetric or fetches one from cache.

If a collision occurs, returns a NullMetric to suppress exceptions.

Parameters
string$name
Returns
CounterMetric|NullMetric

Definition at line 96 of file StatsFactory.php.

◆ getGauge()

Wikimedia\Stats\StatsFactory::getGauge ( string $name)

Makes a new GaugeMetric or fetches one from cache.

If a collision occurs, returns a NullMetric to suppress exceptions.

Parameters
string$name
Returns
GaugeMetric|NullMetric

Definition at line 108 of file StatsFactory.php.

◆ getHistogram()

Wikimedia\Stats\StatsFactory::getHistogram ( string $name,
array $buckets )

Makes a new HistogramMetric.

Parameters
string$name
array<int|float>$buckets
Returns
HistogramMetric

Definition at line 131 of file StatsFactory.php.

◆ getTiming()

Wikimedia\Stats\StatsFactory::getTiming ( string $name)

Makes a new TimingMetric or fetches one from cache.

If a collision occurs, returns a NullMetric to suppress exceptions.

Parameters
string$name
Returns
TimingMetric|NullMetric

Definition at line 120 of file StatsFactory.php.

◆ newNull()

static Wikimedia\Stats\StatsFactory::newNull ( )
static

Create a no-op StatsFactory.

Use this as the default in a service that takes an optional StatsFactory, or as null implementation in PHPUnit tests, where we don't need to send output to an actual network service.

Since
1.42
Returns
self

Definition at line 204 of file StatsFactory.php.

◆ newUnitTestingHelper()

static Wikimedia\Stats\StatsFactory::newUnitTestingHelper ( )
static

Create a stats helper for use in PHPUnit tests.

Example:

$statsHelper = StatsFactory::newUnitTestingHelper();
$x = new MySubject( $statsHelper->getStatsFactory() );
$x->execute();
// Assert full (emitting more is unexpected)
$this->assertSame(
[
'example_executions_total:1|c|#foo:bar'
],
$statsHelper->consumeAllFormatted()
);
// Assert partially (at least this should be emitted)
$this->assertSame( 1, $statsHelper->count( 'example_executions_total{foo="bar"}' ) );
Since
1.44
Returns
UnitTestingHelper

Definition at line 234 of file StatsFactory.php.

◆ withComponent()

Wikimedia\Stats\StatsFactory::withComponent ( string $component)

Returns a new StatsFactory instance prefixed by component.

Parameters
string$component
Returns
StatsFactory

Definition at line 78 of file StatsFactory.php.

◆ withStatsdDataFactory()

Wikimedia\Stats\StatsFactory::withStatsdDataFactory ( ?IBufferingStatsdDataFactory $statsdDataFactory)

Definition at line 83 of file StatsFactory.php.


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