jaeger-client -> opentelemetry
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\SDK\Logs;
|
||||
|
||||
use OpenTelemetry\SDK\Common\Attribute\Attributes;
|
||||
use OpenTelemetry\SDK\Common\Configuration\Configuration;
|
||||
use OpenTelemetry\SDK\Common\Configuration\Variables;
|
||||
use const PHP_INT_MAX;
|
||||
|
||||
class LogRecordLimitsBuilder
|
||||
{
|
||||
/** @var ?int Maximum allowed attribute count per record */
|
||||
private ?int $attributeCountLimit = null;
|
||||
|
||||
/** @var ?int Maximum allowed attribute value length */
|
||||
private ?int $attributeValueLengthLimit = null;
|
||||
|
||||
/**
|
||||
* @param int $attributeCountLimit Maximum allowed attribute count per record
|
||||
*/
|
||||
public function setAttributeCountLimit(int $attributeCountLimit): LogRecordLimitsBuilder
|
||||
{
|
||||
$this->attributeCountLimit = $attributeCountLimit;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $attributeValueLengthLimit Maximum allowed attribute value length
|
||||
*/
|
||||
public function setAttributeValueLengthLimit(int $attributeValueLengthLimit): LogRecordLimitsBuilder
|
||||
{
|
||||
$this->attributeValueLengthLimit = $attributeValueLengthLimit;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#attribute-limits
|
||||
*/
|
||||
public function build(): LogRecordLimits
|
||||
{
|
||||
$attributeCountLimit = $this->attributeCountLimit
|
||||
?: Configuration::getInt(Variables::OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT);
|
||||
$attributeValueLengthLimit = $this->attributeValueLengthLimit
|
||||
?: Configuration::getInt(Variables::OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT);
|
||||
|
||||
if ($attributeValueLengthLimit === PHP_INT_MAX) {
|
||||
$attributeValueLengthLimit = null;
|
||||
}
|
||||
|
||||
$attributesFactory = Attributes::factory($attributeCountLimit, $attributeValueLengthLimit);
|
||||
|
||||
return new LogRecordLimits($attributesFactory);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user