Skip to content

Commit 9fe67f4

Browse files
committed
allow span ctx
1 parent 457cb30 commit 9fe67f4

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

packages/otel/src/Span/index.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,20 @@ export interface Span extends SpanImpl {}
2424

2525
export const Span = tag<Span>()
2626

27-
export function withSpan(name: string, options?: OTApi.SpanOptions) {
27+
export function withSpan(
28+
name: string,
29+
options?: OTApi.SpanOptions,
30+
ctx?: OTApi.Context
31+
) {
2832
return <R, E, A>(
2933
effect: T.Effect<R & Has<Span>, E, A>
3034
): T.Effect<R & Has<Tracer>, E, A> => {
3135
const createSpan = withTracer((tracer) =>
3236
T.access((r: unknown) => {
3337
const maybeSpan = Span.readOption(r)
38+
if (ctx) {
39+
return tracer.startSpan(name, options, ctx)
40+
}
3441
if (options?.root !== true && O.isSome(maybeSpan)) {
3542
const ctx = trace.setSpan(context.active(), maybeSpan.value.span)
3643
return tracer.startSpan(name, options, ctx)

0 commit comments

Comments
 (0)