blob: d53ab25aa8b63e4ddf69e7feec9dc85343adaeb0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<?php
declare(strict_types=1);
namespace OpenTelemetry\SDK\Common\Attribute;
/**
* @internal
*/
final class AttributesFactory implements AttributesFactoryInterface
{
private ?int $attributeCountLimit;
private ?int $attributeValueLengthLimit;
public function __construct(?int $attributeCountLimit = null, ?int $attributeValueLengthLimit = null)
{
$this->attributeCountLimit = $attributeCountLimit;
$this->attributeValueLengthLimit = $attributeValueLengthLimit;
}
public function builder(iterable $attributes = [], ?AttributeValidatorInterface $attributeValidator = null): AttributesBuilderInterface
{
$builder = new AttributesBuilder(
[],
$this->attributeCountLimit,
$this->attributeValueLengthLimit,
0,
$attributeValidator,
);
foreach ($attributes as $key => $value) {
$builder[$key] = $value;
}
return $builder;
}
}
|