> ## 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.

# Log traces

# LogTracesClient

`adaline.logs.traces` searches traces with typed column filters — status, time window, name, attributes — and retroactively patches a trace's status, tags, or attributes after it has already been flushed. Every method is async.

## Access

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

adaline = Adaline()
traces = adaline.logs.traces  # LogTracesClient
```

The class is also exported directly:

```python theme={null}
from adaline.clients import LogTracesClient
```

Types from `adaline_api`:

```python theme={null}
from adaline_api.models.search_log_traces_request import SearchLogTracesRequest
from adaline_api.models.search_traces_response import SearchTracesResponse
from adaline_api.models.update_log_trace_request import UpdateLogTraceRequest
```

***

## search()

Paginated trace search with typed filter objects.

```python theme={null}
async def search(*, query: SearchLogTracesRequest) -> SearchTracesResponse
```

### Parameters

| Name    | Type                                                                    | Required | Description                                                                                                |
| ------- | ----------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------- |
| `query` | [`SearchLogTracesRequest`](/docs/reference/api/v2/openapi/export-log-traces) | Yes      | Project, filters, sort, pagination. See [Export Logs](/docs/monitor/filter-and-search-logs) for filter grammar. |

### Returns

[`SearchTracesResponse`](/docs/reference/api/v2/openapi/export-log-traces) with `{ data: list[TraceRow]; pagination: Pagination }`.

### Example

```python theme={null}
from adaline_api.models.search_log_traces_request import SearchLogTracesRequest
import time

response = await adaline.logs.traces.search(
    query=SearchLogTracesRequest(
        project_id="project_abc123",
        filters=[
            {"type": "status", "column": "status", "operator": "equals", "value": "failure"},
            {"type": "startedAt", "column": "startedAt", "operator": "gte", "value": int((time.time() - 3600) * 1000)},
        ],
        sort="startedAt:desc",
        limit=100,
    )
)

for trace in response.data:
    print(trace.id, trace.name, trace.status)
```

***

## update()

Retroactively patch a trace's status/endedAt and create or delete tags and attributes. Locate the trace by `trace_id` **or** `reference_id` (at least one required).

```python theme={null}
async def update(*, trace: UpdateLogTraceRequest) -> Any
```

### Example

```python theme={null}
from adaline_api.models.update_log_trace_request import UpdateLogTraceRequest

await adaline.logs.traces.update(
    trace=UpdateLogTraceRequest(
        reference_id="user-session-123",
        status="success",
        attributes={"resolved": "by-support"},
    )
)
```

***

## See Also

* [LogsClient](/docs/reference/sdk/v2/python/classes/logs) — parent client (owns the `list` method)
* [LogSpansClient](/docs/reference/sdk/v2/python/classes/log-spans) — sibling sub-client for span search
* API reference: [Search traces](/docs/reference/api/v2/openapi/export-log-traces) · [Update trace](/docs/reference/api/v2/openapi/update-log-trace)
