TraceState.fromString constructor
TraceState.fromString(
- String? headerValue
Create TraceState from a W3C trace context header string
Implementation
factory TraceState.fromString(String? headerValue) {
final factory = OTelFactory.getOrCreateDefault();
if (headerValue == null || headerValue.isEmpty) {
return factory.traceState({});
}
final entries = <String, String>{};
final pairs = headerValue.split(',');
for (var pair in pairs) {
final keyValue = pair.trim().split('=');
if (keyValue.length == 2 &&
_isValidKey(keyValue[0]) &&
_isValidValue(keyValue[1])) {
entries[keyValue[0]] = keyValue[1];
if (entries.length >= _maxKeyValuePairs) break;
}
}
return factory.traceState(entries);
}