# Open Telemetery Example ## Example Usage Use the _code block_ widget to start and end spans. Spans can be nested to form a stack, ending a span will always end the last span added to the stack. ### Start Span ```javascript (async () => { await latencySpan().endSpan(recognizedObject.conversationId); const span = await opentelemetry().startSpan("Global Flow"); console.log(span); })() .catch((error) => { console.log(error.message); recognizedObject.answers.push(""); recognizedObject.errorInfo = { ...recognizedObject.errorInfo, label: { data: error.toJSON ? error.toJSON() : {}, message: error.message, }, }; }) .finally(() => { next(); }); ``` ### End Span ```javascript (async () => { await opentelemetry().endSpan(); })() .catch((error) => { console.log(error.message); recognizedObject.answers.push(""); recognizedObject.errorInfo = { ...recognizedObject.errorInfo, label: { data: error.toJSON ? error.toJSON() : {}, message: error.message, }, }; }) .finally(() => { next(); }); ```