tryParseTraceSpan function
Try to parse a single trace line as a timed span.
Returns null if the line does not match the expected format:
[+123us] [tag] message 456us
Implementation
ReplayTraceSummarySpan? tryParseTraceSpan(
String path,
int lineNumber,
String line,
) {
final durationMatch = RegExp(r' (\d+)us$').firstMatch(line);
if (durationMatch == null) return null;
final durationUs = int.tryParse(durationMatch.group(1)!);
if (durationUs == null) return null;
final tagMatch = RegExp(r'^\[\+\d+us\] \[([^\]]+)\] (.*)$').firstMatch(line);
if (tagMatch == null) return null;
final message = tagMatch.group(2)!;
return ReplayTraceSummarySpan(
path: path,
lineNumber: lineNumber,
tag: tagMatch.group(1)!,
message: message,
durationUs: durationUs,
);
}