trace<T> method
Future<T>
trace<T>(
- String name,
- Future<
T> body(- DVSpan span
- DVSpan? parent,
- DVTraceContext? context,
Runs body inside a span, ending it either way and recording a throw.
Implementation
Future<T> trace<T>(
String name,
Future<T> Function(DVSpan span) body, {
DVSpan? parent,
DVTraceContext? context,
}) async {
final DVSpan span = startSpan(name, parent: parent, context: context);
try {
return await body(span);
} on Object catch (error, stack) {
span.recordError(error, stack);
rethrow;
} finally {
span.end();
}
}