Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F4132280
ProbabilisticSampler.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
927 B
Referenced Files
None
Subscribers
None
ProbabilisticSampler.php
View Options
<?php
namespace
Wikimedia\Telemetry
;
use
Wikimedia\Assert\Assert
;
/**
* A {@link SamplerInterface} implementation that samples a given percentage of root spans,
* while respecting sampling decisions made by other samplers for a given trace.
*
* @since 1.43
* @internal
*/
class
ProbabilisticSampler
implements
SamplerInterface
{
/**
* The chance of sampling a root span, as a percentage (0-100).
* @var int
*/
private
int
$percentChance
;
public
function
__construct
(
int
$percentChance
)
{
Assert
::
parameter
(
$percentChance
>=
0
&&
$percentChance
<=
100
,
'$percentChance'
,
'must be between 0 and 100 inclusive'
);
$this
->
percentChance
=
$percentChance
;
}
/** @inheritDoc */
public
function
shouldSample
(
?
SpanContext
$parentSpanContext
):
bool
{
if
(
$parentSpanContext
!==
null
)
{
return
$parentSpanContext
->
isSampled
();
}
return
mt_rand
(
1
,
100
)
<=
$this
->
percentChance
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Wed, Aug 19, 11:31 (3 w, 23 h ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
3c/00/aec7b5152f0c7873dc38be34c4ed
Default Alt Text
ProbabilisticSampler.php (927 B)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment