> ## Documentation Index
> Fetch the complete documentation index at: https://www.adaline.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# TraceStatus

# TraceStatus

Allowed status values for a [Trace](/docs/reference/sdk/v2/python/classes/trace).

## Overview

`TraceStatus` defines the lifecycle states a trace can be in. Every trace has a status that indicates whether it completed, failed, or is still in progress. The default status is `"unknown"`.

***

## Import

```python theme={null}
from adaline_api.models.trace_status import TraceStatus
```

## Type Definition

`TraceStatus` is a `str` literal with the following allowed values:

| Value         | Description                                                                           |
| ------------- | ------------------------------------------------------------------------------------- |
| `"success"`   | The trace completed successfully with the expected outcome.                           |
| `"failure"`   | The trace encountered an error and did not complete.                                  |
| `"aborted"`   | The trace was terminated before completion due to an external signal (e.g., timeout). |
| `"cancelled"` | The trace was explicitly cancelled by the user or application logic.                  |
| `"pending"`   | The trace is still in progress and has not yet resolved.                              |
| `"unknown"`   | Status has not been set. This is the default.                                         |

<Note>
  Unlike [SpanStatus](/docs/reference/sdk/v2/python/types/SpanStatus), `TraceStatus` includes the `"pending"` value because traces can represent long-running operations whose outcome is not yet known.
</Note>

***

## Usage

### Setting status on a new trace

```python theme={null}
from adaline.main import Adaline

adaline = Adaline()
monitor = adaline.init_monitor(project_id="project_abc123")

trace = monitor.log_trace(
    name="Chat Completion",
    status="pending",
    tags=["production"],
)
```

### Updating status after completion

```python theme={null}
trace.update({"status": "success"})
```

### Conditional status based on outcome

```python theme={null}
try:
    result = await run_pipeline(trace)
    trace.update({"status": "success"})
except TimeoutError:
    trace.update({"status": "aborted"})
except Exception:
    trace.update({"status": "failure"})
```

***

## Related

* [Trace](/docs/reference/sdk/v2/python/classes/trace) — the class that uses `TraceStatus`
* [SpanStatus](/docs/reference/sdk/v2/python/types/SpanStatus) — the equivalent status type for spans (excludes `"pending"`)
* [Monitor](/docs/reference/sdk/v2/python/classes/monitor) — creates traces via `log_trace()`
