opentelemetry-js/classes/_opentelemetry_api._opentel...

138 lines
86 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>SugaredTracer | OpenTelemetry SDK</title><meta name="description" content="Documentation for OpenTelemetry SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">OpenTelemetry SDK</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../index.html">OpenTelemetry SDK</a></li><li><a href="../modules/_opentelemetry_api.html">@opentelemetry/api</a></li><li><a href="../modules/_opentelemetry_api._opentelemetry_api_experimental.html">@opentelemetry/api/experimental</a></li><li><a href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html">SugaredTracer</a></li></ul><h1>Class SugaredTracer</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>Tracer provides an interface for creating <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-kind-interface">Span</a>s.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-since"><h4 class="tsd-anchor-link"><a id="since" class="tsd-anchor"></a>Since<a href="#since" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>1.0.0</p>
</div></div></section><section class="tsd-panel"><h4>Implements</h4><ul class="tsd-hierarchy"><li><a href="../interfaces/_opentelemetry_api._opentelemetry_api.Tracer.html" class="tsd-signature-type tsd-kind-interface">Tracer</a></li></ul></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/open-telemetry/opentelemetry-js/blob/2d3760898cdc4f0e68f9f956603cc5df279eb3a8/api/src/experimental/trace/SugaredTracer.ts#L40">experimental/trace/SugaredTracer.ts:40</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#startactivespan" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>start<wbr/>Active<wbr/>Span</span></a>
<a href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#startspan" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>start<wbr/>Span</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespan" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>with<wbr/>Active<wbr/>Span</span></a>
<a href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspan" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>with<wbr/>Span</span></a>
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Constructors"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Constructors</h2></summary><section><section class="tsd-panel tsd-member"><a id="constructor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link"><a id="constructorsugaredtracer" class="tsd-anchor"></a><span class="tsd-signature-keyword">new</span> <span class="tsd-kind-constructor-signature">SugaredTracer</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tracer</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Tracer.html" class="tsd-signature-type tsd-kind-interface">Tracer</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html" class="tsd-signature-type tsd-kind-class">SugaredTracer</a><a href="#constructorsugaredtracer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tracer</span>: <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Tracer.html" class="tsd-signature-type tsd-kind-interface">Tracer</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html" class="tsd-signature-type tsd-kind-class">SugaredTracer</a></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/open-telemetry/opentelemetry-js/blob/2d3760898cdc4f0e68f9f956603cc5df279eb3a8/api/src/experimental/trace/SugaredTracer.ts#L43">experimental/trace/SugaredTracer.ts:43</a></li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Properties</h2></summary><section><section class="tsd-panel tsd-member"><a id="startactivespan" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>start<wbr/>Active<wbr/>Span</span><a href="#startactivespan" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">startActiveSpan</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>    <span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">F</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">fn</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="../interfaces/_opentelemetry_api._opentelemetry_api.Tracer.html#startactivespanf">F</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="../interfaces/_opentelemetry_api._opentelemetry_api.Tracer.html#startactivespanf">F</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">F</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.SpanOptions.html" class="tsd-signature-type tsd-kind-interface">SpanOptions</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">fn</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="../interfaces/_opentelemetry_api._opentelemetry_api.Tracer.html#startactivespanf-1">F</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="../interfaces/_opentelemetry_api._opentelemetry_api.Tracer.html#startactivespanf-1">F</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="">F</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.SpanOptions.html" class="tsd-signature-type tsd-kind-interface">SpanOptions</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">context</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Context.html" class="tsd-signature-type tsd-kind-interface">Context</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">fn</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="../interfaces/_opentelemetry_api._opentelemetry_api.Tracer.html#startactivespanf-2">F</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="../interfaces/_opentelemetry_api._opentelemetry_api.Tracer.html#startactivespanf-2">F</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><div class="tsd-comment tsd-typography"><p>Starts a new <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-kind-interface">Span</a> and calls the given function passing it the
created span as first argument.
Additionally the new span gets set in context and this context is activated
for the duration of the function call.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-param"><h4 class="tsd-anchor-link"><a id="param-name" class="tsd-anchor"></a>Param: name<a href="#param-name" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>The name of the span</p>
</div><div class="tsd-tag-param"><h4 class="tsd-anchor-link"><a id="param-options" class="tsd-anchor"></a>Param: options<a href="#param-options" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>SpanOptions used for span creation</p>
</div><div class="tsd-tag-param"><h4 class="tsd-anchor-link"><a id="param-context" class="tsd-anchor"></a>Param: context<a href="#param-context" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>Context to use to extract parent</p>
</div><div class="tsd-tag-param"><h4 class="tsd-anchor-link"><a id="param-fn" class="tsd-anchor"></a>Param: fn<a href="#param-fn" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>function called in the context of the span and receives the newly created span as an argument</p>
</div><div class="tsd-tag-returns"><h4 class="tsd-anchor-link"><a id="returns" class="tsd-anchor"></a>Returns<a href="#returns" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>return value of fn</p>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example" class="tsd-anchor"></a>Example<a href="#example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">something</span><span class="hl-1"> = </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">startActiveSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">, </span><span class="hl-6">span</span><span class="hl-1"> </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-7">try</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-7">do</span><span class="hl-1"> </span><span class="hl-6">some</span><span class="hl-1"> </span><span class="hl-6">work</span><br/><span class="hl-1"> </span><span class="hl-6">span</span><span class="hl-1">.</span><span class="hl-0">setStatus</span><span class="hl-1">({</span><span class="hl-6">code:</span><span class="hl-1"> </span><span class="hl-6">SpanStatusCode</span><span class="hl-1">.</span><span class="hl-4">OK</span><span class="hl-1">});</span><br/><span class="hl-1"> </span><span class="hl-7">return</span><span class="hl-1"> </span><span class="hl-6">something</span><span class="hl-1">;</span><br/><span class="hl-1"> } </span><span class="hl-7">catch</span><span class="hl-1"> (</span><span class="hl-6">err</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-6">span</span><span class="hl-1">.</span><span class="hl-0">setStatus</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-6">code:</span><span class="hl-1"> </span><span class="hl-6">SpanStatusCode</span><span class="hl-1">.</span><span class="hl-4">ERROR</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">message:</span><span class="hl-1"> </span><span class="hl-6">err</span><span class="hl-1">.</span><span class="hl-6">message</span><span class="hl-1">,</span><br/><span class="hl-1"> });</span><br/><span class="hl-1"> </span><span class="hl-7">throw</span><span class="hl-1"> </span><span class="hl-6">err</span><span class="hl-1">;</span><br/><span class="hl-1"> } </span><span class="hl-7">finally</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">span</span><span class="hl-1">.</span><span class="hl-0">end</span><span class="hl-1">();</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> });</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-1" class="tsd-anchor"></a>Example<a href="#example-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">span</span><span class="hl-1"> = </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">startActiveSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">, </span><span class="hl-6">span</span><span class="hl-1"> </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-7">try</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-7">do</span><span class="hl-1"> </span><span class="hl-6">some</span><span class="hl-1"> </span><span class="hl-6">work</span><br/><span class="hl-1"> </span><span class="hl-7">return</span><span class="hl-1"> </span><span class="hl-6">span</span><span class="hl-1">;</span><br/><span class="hl-1"> } </span><span class="hl-7">catch</span><span class="hl-1"> (</span><span class="hl-6">err</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-6">span</span><span class="hl-1">.</span><span class="hl-0">setStatus</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-6">code:</span><span class="hl-1"> </span><span class="hl-6">SpanStatusCode</span><span class="hl-1">.</span><span class="hl-4">ERROR</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">message:</span><span class="hl-1"> </span><span class="hl-6">err</span><span class="hl-1">.</span><span class="hl-6">message</span><span class="hl-1">,</span><br/><span class="hl-1"> });</span><br/><span class="hl-1"> </span><span class="hl-7">throw</span><span class="hl-1"> </span><span class="hl-6">err</span><span class="hl-1">;</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> });</span><br/><span class="hl-1"> </span><span class="hl-7">do</span><span class="hl-1"> </span><span class="hl-6">some</span><span class="hl-1"> </span><span class="hl-6">more</span><span class="hl-1"> </span><span class="hl-6">work</span><br/><span class="hl-1"> </span><span class="hl-6">span</span><span class="hl-1">.</span><span class="hl-0">end</span><span class="hl-1">();</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Tracer.html">Tracer</a>.<a href="../interfaces/_opentelemetry_api._opentelemetry_api.Tracer.html#startactivespan">startActiveSpan</a></p><ul><li>Defined in <a href="https://github.com/open-telemetry/opentelemetry-js/blob/2d3760898cdc4f0e68f9f956603cc5df279eb3a8/api/src/experimental/trace/SugaredTracer.ts#L49">experimental/trace/SugaredTracer.ts:49</a></li></ul></aside></section><section class="tsd-panel tsd-member"><a id="startspan" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>start<wbr/>Span</span><a href="#startspan" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">startSpan</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.SpanOptions.html" class="tsd-signature-type tsd-kind-interface">SpanOptions</a><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">context</span><span class="tsd-signature-symbol">?:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Context.html" class="tsd-signature-type tsd-kind-interface">Context</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a></div><div class="tsd-comment tsd-typography"><p>Starts a new <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-kind-interface">Span</a>. Start the span without setting it on context.</p>
<p>This method do NOT modify the current Context.</p>
</div><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.SpanOptions.html" class="tsd-signature-type tsd-kind-interface">SpanOptions</a><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">context</span><span class="tsd-signature-symbol">?:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Context.html" class="tsd-signature-type tsd-kind-interface">Context</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The name of the span</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">options</span>: <a href="../interfaces/_opentelemetry_api._opentelemetry_api.SpanOptions.html" class="tsd-signature-type tsd-kind-interface">SpanOptions</a></span><div class="tsd-comment tsd-typography"><p>SpanOptions used for span creation</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">context</span>: <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Context.html" class="tsd-signature-type tsd-kind-interface">Context</a></span><div class="tsd-comment tsd-typography"><p>Context to use to extract parent</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a></h4><p>Span The newly created span</p>
<div class="tsd-comment tsd-typography"></div></li></ul></li></ul></div><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-2" class="tsd-anchor"></a>Example<a href="#example-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">span</span><span class="hl-1"> = </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">startSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-6">span</span><span class="hl-1">.</span><span class="hl-0">setAttribute</span><span class="hl-1">(</span><span class="hl-2">&#39;key&#39;</span><span class="hl-1">, </span><span class="hl-2">&#39;value&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-6">span</span><span class="hl-1">.</span><span class="hl-0">end</span><span class="hl-1">();</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Tracer.html">Tracer</a>.<a href="../interfaces/_opentelemetry_api._opentelemetry_api.Tracer.html#startspan">startSpan</a></p><ul><li>Defined in <a href="https://github.com/open-telemetry/opentelemetry-js/blob/2d3760898cdc4f0e68f9f956603cc5df279eb3a8/api/src/experimental/trace/SugaredTracer.ts#L50">experimental/trace/SugaredTracer.ts:50</a></li></ul></aside></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Methods</h2></summary><section><section class="tsd-panel tsd-member"><a id="withactivespan" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>with<wbr/>Active<wbr/>Span</span><a href="#withactivespan" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link"><a id="withactivespan-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">withActiveSpan</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf">F</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf">F</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">fn</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf">F</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf">F</a><span class="tsd-signature-symbol">&gt;</span><a href="#withactivespan-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Starts a new <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-kind-interface">Span</a> and calls the given function passing it the
created span as first argument.
Additionally, the new span gets set in context and this context is activated
for the duration of the function call.
The span will be closed after the function has executed.
If an exception occurs, it is recorded, the status is set to ERROR and the exception is rethrown.</p>
</div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="withactivespanf" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">F</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf">F</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The name of the span</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">fn</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf">F</a></span><div class="tsd-comment tsd-typography"><p>function called in the context of the span and receives the newly created span as an argument</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf">F</a><span class="tsd-signature-symbol">&gt;</span></h4><p>return value of fn</p>
<div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-3" class="tsd-anchor"></a>Example<a href="#example-3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">something</span><span class="hl-1"> = </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">withActiveSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">, </span><span class="hl-6">span</span><span class="hl-1"> </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">// do some work</span><br/><span class="hl-1"> });</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-4" class="tsd-anchor"></a>Example<a href="#example-4" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">something</span><span class="hl-1"> = </span><span class="hl-7">await</span><span class="hl-1"> </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">withActiveSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">, </span><span class="hl-6">span</span><span class="hl-1"> </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">// do some async work</span><br/><span class="hl-1"> });</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/open-telemetry/opentelemetry-js/blob/2d3760898cdc4f0e68f9f956603cc5df279eb3a8/api/src/experimental/trace/SugaredTracer.ts#L74">experimental/trace/SugaredTracer.ts:74</a></li></ul></aside></div></li><li class=""><div class="tsd-signature tsd-anchor-link"><a id="withactivespan-2" class="tsd-anchor"></a><span class="tsd-kind-call-signature">withActiveSpan</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf-1">F</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf-1">F</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api_experimental.SugaredSpanOptions.html" class="tsd-signature-type tsd-kind-interface">SugaredSpanOptions</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">fn</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf-1">F</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf-1">F</a><span class="tsd-signature-symbol">&gt;</span><a href="#withactivespan-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Starts a new <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-kind-interface">Span</a> and calls the given function passing it the
created span as first argument.
Additionally, the new span gets set in context and this context is activated
for the duration of the function call.
The span will be closed after the function has executed.
If an exception occurs, it is recorded, the status is set to ERROR and the exception is rethrown.</p>
</div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="withactivespanf-1" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">F</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf-1">F</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The name of the span</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">options</span>: <a href="../interfaces/_opentelemetry_api._opentelemetry_api_experimental.SugaredSpanOptions.html" class="tsd-signature-type tsd-kind-interface">SugaredSpanOptions</a></span><div class="tsd-comment tsd-typography"><p>SugaredSpanOptions used for span creation</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">fn</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf-1">F</a></span><div class="tsd-comment tsd-typography"><p>function called in the context of the span and receives the newly created span as an argument</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf-1">F</a><span class="tsd-signature-symbol">&gt;</span></h4><p>return value of fn</p>
<div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-5" class="tsd-anchor"></a>Example<a href="#example-5" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">something</span><span class="hl-1"> = </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">withActiveSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">, </span><span class="hl-6">span</span><span class="hl-1"> </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">// do some work</span><br/><span class="hl-1"> });</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-6" class="tsd-anchor"></a>Example<a href="#example-6" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">something</span><span class="hl-1"> = </span><span class="hl-7">await</span><span class="hl-1"> </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">withActiveSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">, </span><span class="hl-6">span</span><span class="hl-1"> </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">// do some async work</span><br/><span class="hl-1"> });</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/open-telemetry/opentelemetry-js/blob/2d3760898cdc4f0e68f9f956603cc5df279eb3a8/api/src/experimental/trace/SugaredTracer.ts#L78">experimental/trace/SugaredTracer.ts:78</a></li></ul></aside></div></li><li class=""><div class="tsd-signature tsd-anchor-link"><a id="withactivespan-3" class="tsd-anchor"></a><span class="tsd-kind-call-signature">withActiveSpan</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf-2">F</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf-2">F</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api_experimental.SugaredSpanOptions.html" class="tsd-signature-type tsd-kind-interface">SugaredSpanOptions</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">context</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Context.html" class="tsd-signature-type tsd-kind-interface">Context</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">fn</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf-2">F</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf-2">F</a><span class="tsd-signature-symbol">&gt;</span><a href="#withactivespan-3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Starts a new <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-kind-interface">Span</a> and calls the given function passing it the
created span as first argument.
Additionally, the new span gets set in context and this context is activated
for the duration of the function call.
The span will be closed after the function has executed.
If an exception occurs, it is recorded, the status is set to ERROR and the exception is rethrown.</p>
</div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="withactivespanf-2" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">F</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf-2">F</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The name of the span</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">options</span>: <a href="../interfaces/_opentelemetry_api._opentelemetry_api_experimental.SugaredSpanOptions.html" class="tsd-signature-type tsd-kind-interface">SugaredSpanOptions</a></span><div class="tsd-comment tsd-typography"><p>SugaredSpanOptions used for span creation</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">context</span>: <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Context.html" class="tsd-signature-type tsd-kind-interface">Context</a></span><div class="tsd-comment tsd-typography"><p>Context to use to extract parent</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">fn</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf-2">F</a></span><div class="tsd-comment tsd-typography"><p>function called in the context of the span and receives the newly created span as an argument</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withactivespanf-2">F</a><span class="tsd-signature-symbol">&gt;</span></h4><p>return value of fn</p>
<div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-7" class="tsd-anchor"></a>Example<a href="#example-7" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">something</span><span class="hl-1"> = </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">withActiveSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">, </span><span class="hl-6">span</span><span class="hl-1"> </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">// do some work</span><br/><span class="hl-1"> });</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-8" class="tsd-anchor"></a>Example<a href="#example-8" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">something</span><span class="hl-1"> = </span><span class="hl-7">await</span><span class="hl-1"> </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">withActiveSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">, </span><span class="hl-6">span</span><span class="hl-1"> </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">// do some async work</span><br/><span class="hl-1"> });</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/open-telemetry/opentelemetry-js/blob/2d3760898cdc4f0e68f9f956603cc5df279eb3a8/api/src/experimental/trace/SugaredTracer.ts#L83">experimental/trace/SugaredTracer.ts:83</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><a id="withspan" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>with<wbr/>Span</span><a href="#withspan" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link"><a id="withspan-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">withSpan</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf">F</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf">F</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">fn</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf">F</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf">F</a><span class="tsd-signature-symbol">&gt;</span><a href="#withspan-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Starts a new <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-kind-interface">Span</a> and ends it after execution of fn without setting it on context.
The span will be closed after the function has executed.
If an exception occurs, it is recorded, the status is et to ERROR and rethrown.</p>
<p>This method does NOT modify the current Context.</p>
</div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="withspanf" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">F</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf">F</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The name of the span</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">fn</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf">F</a></span><div class="tsd-comment tsd-typography"><p>function called in the context of the span and receives the newly created span as an argument</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf">F</a><span class="tsd-signature-symbol">&gt;</span></h4><p>Span The newly created span</p>
<div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-9" class="tsd-anchor"></a>Example<a href="#example-9" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">something</span><span class="hl-1"> = </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">withSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">, </span><span class="hl-6">span</span><span class="hl-1"> </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">// do some work</span><br/><span class="hl-1"> });</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-10" class="tsd-anchor"></a>Example<a href="#example-10" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">something</span><span class="hl-1"> = </span><span class="hl-7">await</span><span class="hl-1"> </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">withSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">, </span><span class="hl-6">span</span><span class="hl-1"> </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">// do some async work</span><br/><span class="hl-1"> });</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/open-telemetry/opentelemetry-js/blob/2d3760898cdc4f0e68f9f956603cc5df279eb3a8/api/src/experimental/trace/SugaredTracer.ts#L123">experimental/trace/SugaredTracer.ts:123</a></li></ul></aside></div></li><li class=""><div class="tsd-signature tsd-anchor-link"><a id="withspan-2" class="tsd-anchor"></a><span class="tsd-kind-call-signature">withSpan</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-1">F</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-1">F</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api_experimental.SugaredSpanOptions.html" class="tsd-signature-type tsd-kind-interface">SugaredSpanOptions</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">fn</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-1">F</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-1">F</a><span class="tsd-signature-symbol">&gt;</span><a href="#withspan-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Starts a new <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-kind-interface">Span</a> and ends it after execution of fn without setting it on context.
The span will be closed after the function has executed.
If an exception occurs, it is recorded, the status is et to ERROR and rethrown.</p>
<p>This method does NOT modify the current Context.</p>
</div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="withspanf-1" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">F</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-1">F</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The name of the span</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">options</span>: <a href="../interfaces/_opentelemetry_api._opentelemetry_api_experimental.SugaredSpanOptions.html" class="tsd-signature-type tsd-kind-interface">SugaredSpanOptions</a></span><div class="tsd-comment tsd-typography"><p>SugaredSpanOptions used for span creation</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">fn</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-1">F</a></span><div class="tsd-comment tsd-typography"><p>function called in the context of the span and receives the newly created span as an argument</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-1">F</a><span class="tsd-signature-symbol">&gt;</span></h4><p>Span The newly created span</p>
<div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-11" class="tsd-anchor"></a>Example<a href="#example-11" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">something</span><span class="hl-1"> = </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">withSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">, </span><span class="hl-6">span</span><span class="hl-1"> </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">// do some work</span><br/><span class="hl-1"> });</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-12" class="tsd-anchor"></a>Example<a href="#example-12" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">something</span><span class="hl-1"> = </span><span class="hl-7">await</span><span class="hl-1"> </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">withSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">, </span><span class="hl-6">span</span><span class="hl-1"> </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">// do some async work</span><br/><span class="hl-1"> });</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/open-telemetry/opentelemetry-js/blob/2d3760898cdc4f0e68f9f956603cc5df279eb3a8/api/src/experimental/trace/SugaredTracer.ts#L127">experimental/trace/SugaredTracer.ts:127</a></li></ul></aside></div></li><li class=""><div class="tsd-signature tsd-anchor-link"><a id="withspan-3" class="tsd-anchor"></a><span class="tsd-kind-call-signature">withSpan</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-2">F</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-2">F</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api_experimental.SugaredSpanOptions.html" class="tsd-signature-type tsd-kind-interface">SugaredSpanOptions</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">context</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Context.html" class="tsd-signature-type tsd-kind-interface">Context</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">fn</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-2">F</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-2">F</a><span class="tsd-signature-symbol">&gt;</span><a href="#withspan-3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Starts a new <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-kind-interface">Span</a> and ends it after execution of fn without setting it on context.
The span will be closed after the function has executed.
If an exception occurs, it is recorded, the status is et to ERROR and rethrown.</p>
<p>This method does NOT modify the current Context.</p>
</div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="withspanf-2" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">F</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-2">F</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The name of the span</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">options</span>: <a href="../interfaces/_opentelemetry_api._opentelemetry_api_experimental.SugaredSpanOptions.html" class="tsd-signature-type tsd-kind-interface">SugaredSpanOptions</a></span><div class="tsd-comment tsd-typography"><p>SugaredSpanOptions used for span creation</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">context</span>: <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Context.html" class="tsd-signature-type tsd-kind-interface">Context</a></span><div class="tsd-comment tsd-typography"><p>Context to use to extract parent</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">fn</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-2">F</a></span><div class="tsd-comment tsd-typography"><p>function called in the context of the span and receives the newly created span as an argument</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-2">F</a><span class="tsd-signature-symbol">&gt;</span></h4><p>Span The newly created span</p>
<div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-13" class="tsd-anchor"></a>Example<a href="#example-13" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">something</span><span class="hl-1"> = </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">withSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">, </span><span class="hl-6">span</span><span class="hl-1"> </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">// do some work</span><br/><span class="hl-1"> });</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-14" class="tsd-anchor"></a>Example<a href="#example-14" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">something</span><span class="hl-1"> = </span><span class="hl-7">await</span><span class="hl-1"> </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">withSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">, </span><span class="hl-6">span</span><span class="hl-1"> </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">// do some async work</span><br/><span class="hl-1"> });</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/open-telemetry/opentelemetry-js/blob/2d3760898cdc4f0e68f9f956603cc5df279eb3a8/api/src/experimental/trace/SugaredTracer.ts#L132">experimental/trace/SugaredTracer.ts:132</a></li></ul></aside></div></li><li class=""><div class="tsd-signature tsd-anchor-link"><a id="withspan-4" class="tsd-anchor"></a><span class="tsd-kind-call-signature">withSpan</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-3">F</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-3">F</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api_experimental.SugaredSpanOptions.html" class="tsd-signature-type tsd-kind-interface">SugaredSpanOptions</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">context</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Context.html" class="tsd-signature-type tsd-kind-interface">Context</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">fn</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-3">F</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-3">F</a><span class="tsd-signature-symbol">&gt;</span><a href="#withspan-4" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Starts a new <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-kind-interface">Span</a> and ends it after execution of fn without setting it on context.
The span will be closed after the function has executed.
If an exception occurs, it is recorded, the status is et to ERROR and rethrown.</p>
<p>This method does NOT modify the current Context.</p>
</div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="withspanf-3" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">F</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">span</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Span.html" class="tsd-signature-type tsd-kind-interface">Span</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-3">F</a><span class="tsd-signature-symbol">&gt;</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The name of the span</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">options</span>: <a href="../interfaces/_opentelemetry_api._opentelemetry_api_experimental.SugaredSpanOptions.html" class="tsd-signature-type tsd-kind-interface">SugaredSpanOptions</a></span><div class="tsd-comment tsd-typography"><p>SugaredSpanOptions used for span creation</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">context</span>: <a href="../interfaces/_opentelemetry_api._opentelemetry_api.Context.html" class="tsd-signature-type tsd-kind-interface">Context</a></span><div class="tsd-comment tsd-typography"><p>Context to use to extract parent</p>
</div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">fn</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-3">F</a></span><div class="tsd-comment tsd-typography"><p>function called in the context of the span and receives the newly created span as an argument</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ReturnType</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="_opentelemetry_api._opentelemetry_api_experimental.SugaredTracer.html#withspanf-3">F</a><span class="tsd-signature-symbol">&gt;</span></h4><p>Span The newly created span</p>
<div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-15" class="tsd-anchor"></a>Example<a href="#example-15" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">something</span><span class="hl-1"> = </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">withSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">, </span><span class="hl-6">span</span><span class="hl-1"> </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">// do some work</span><br/><span class="hl-1"> });</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example-16" class="tsd-anchor"></a>Example<a href="#example-16" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">something</span><span class="hl-1"> = </span><span class="hl-7">await</span><span class="hl-1"> </span><span class="hl-6">tracer</span><span class="hl-1">.</span><span class="hl-0">withSpan</span><span class="hl-1">(</span><span class="hl-2">&#39;op&#39;</span><span class="hl-1">, </span><span class="hl-6">span</span><span class="hl-1"> </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">// do some async work</span><br/><span class="hl-1"> });</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/open-telemetry/opentelemetry-js/blob/2d3760898cdc4f0e68f9f956603cc5df279eb3a8/api/src/experimental/trace/SugaredTracer.ts#L138">experimental/trace/SugaredTracer.ts:138</a></li></ul></aside></div></li></ul></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#startactivespan" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>start<wbr/>Active<wbr/>Span</span></a><a href="#startspan" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>start<wbr/>Span</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#withactivespan" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>with<wbr/>Active<wbr/>Span</span></a><a href="#withspan" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>with<wbr/>Span</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">OpenTelemetry SDK</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>