Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x

LogRecordLimitsBuilder.php

Namespace

OpenTelemetry\SDK\Logs

File

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

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal