LogRecordLimitsBuilder.php
Namespace
OpenTelemetry\SDK\LogsFile
-
vendor/
open-telemetry/ sdk/ Logs/ LogRecordLimitsBuilder.php
View source
<?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);
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
LogRecordLimitsBuilder |