> ## 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](https://www.adaline.ai/docs/reference/sdk/v2/python/classes/trace.md).

## 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](https://www.adaline.ai/docs/reference/sdk/v2/python/types/SpanStatus.md), `TraceStatus` includes the `"pending"` value because traces can represent long-running operations whose outcome is not yet known.

***

## 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](https://www.adaline.ai/docs/reference/sdk/v2/python/classes/trace.md) — the class that uses `TraceStatus`
* [SpanStatus](https://www.adaline.ai/docs/reference/sdk/v2/python/types/SpanStatus.md) — the equivalent status type for spans (excludes `"pending"`)
* [Monitor](https://www.adaline.ai/docs/reference/sdk/v2/python/classes/monitor.md) — creates traces via `log_trace()`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.