# `Jido.Observe.SpanCtx`
[🔗](https://github.com/agentjido/jido/blob/v2.3.0/lib/jido/observe/span_ctx.ex#L1)

Span context for observability tracking.

Contains all necessary information to finish a span that was started
with `Jido.Observe.start_span/2`.

# `t`

```elixir
@type t() :: %Jido.Observe.SpanCtx{
  event_prefix: [atom()],
  metadata: map(),
  start_system_time: integer(),
  start_time: integer(),
  tracer_ctx: nil | any(),
  tracer_module: nil | atom()
}
```

# `new`

```elixir
@spec new(map()) :: {:ok, t()} | {:error, term()}
```

Creates a new SpanCtx from a map of attributes.

Returns `{:ok, span_ctx}` or `{:error, reason}`.

# `new!`

```elixir
@spec new!(map()) :: t()
```

Creates a new SpanCtx from a map, raising on error.

