function TraceState::parse
1 call to TraceState::parse()
- TraceState::__construct in vendor/
open-telemetry/ api/ Trace/ TraceState.php
File
-
vendor/
open-telemetry/ api/ Trace/ TraceState.php, line 123
Class
Namespace
OpenTelemetry\API\TraceCode
private static function parse(string $rawTracestate) : array {
$traceState = [];
$members = explode(',', $rawTracestate);
foreach ($members as $member) {
if (($member = trim($member, " \t")) === '') {
continue;
}
$member = explode('=', $member, 2);
if (count($member) !== 2) {
self::logWarning(sprintf('Incomplete list member in tracestate "%s"', $rawTracestate));
return [];
}
[
$key,
$value,
] = $member;
if (!self::validateMember($traceState, $key, $value)) {
self::logWarning(sprintf('Invalid list member "%s=%s" in tracestate "%s"', $key, $value, $rawTracestate));
return [];
}
$traceState[$key] ??= $value;
}
return $traceState;
}