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

Breadcrumb

  1. Drupal Core 11.1.x
  2. AttributesConverter.php

function AttributesConverter::convertAnyValue

5 calls to AttributesConverter::convertAnyValue()
LogsConverter::convertLogRecord in vendor/open-telemetry/exporter-otlp/LogsConverter.php
LogsConverter::setAttributes in vendor/open-telemetry/exporter-otlp/LogsConverter.php
MetricConverter::setAttributes in vendor/open-telemetry/exporter-otlp/MetricConverter.php
MetricConverter::setFilteredAttributes in vendor/open-telemetry/exporter-otlp/MetricConverter.php
SpanConverter::setAttributes in vendor/open-telemetry/exporter-otlp/SpanConverter.php

File

vendor/open-telemetry/exporter-otlp/AttributesConverter.php, line 19

Class

AttributesConverter

Namespace

OpenTelemetry\Contrib\Otlp

Code

public static function convertAnyValue($value) : AnyValue {
    $result = new AnyValue();
    if (is_array($value)) {
        if (self::isSimpleArray($value)) {
            $values = new ArrayValue();
            foreach ($value as $element) {
                
                /** @psalm-suppress InvalidArgument */
                $values->getValues()[] = self::convertAnyValue($element);
            }
            $result->setArrayValue($values);
        }
        else {
            $values = new KeyValueList();
            foreach ($value as $key => $element) {
                
                /** @psalm-suppress InvalidArgument */
                $values->getValues()[] = new KeyValue([
                    'key' => $key,
                    'value' => self::convertAnyValue($element),
                ]);
            }
            $result->setKvlistValue($values);
        }
    }
    if (is_int($value)) {
        $result->setIntValue($value);
    }
    if (is_bool($value)) {
        $result->setBoolValue($value);
    }
    if (is_float($value)) {
        $result->setDoubleValue($value);
    }
    if (is_string($value)) {
        if (self::isUtf8($value)) {
            $result->setStringValue($value);
        }
        else {
            $result->setBytesValue($value);
        }
    }
    return $result;
}
RSS feed
Powered by Drupal