# trace

> **Class** in `langsmith`

📖 [View in docs](https://reference.langchain.com/python/langsmith/run_helpers/trace)

Manage a LangSmith run in context.

This class can be used as both a synchronous and asynchronous context manager.

## Signature

```python
trace(
    self,
    name: str,
    run_type: ls_client.RUN_TYPE_T = 'chain',
    *,
    inputs: Optional[dict] = None,
    extra: Optional[dict] = None,
    project_name: Optional[str] = None,
    parent: Optional[Union[run_trees.RunTree, str, Mapping, Literal['ignore']]] = None,
    tags: Optional[list[str]] = None,
    metadata: Optional[Mapping[str, Any]] = None,
    client: Optional[ls_client.Client] = None,
    run_id: Optional[ls_client.ID_TYPE] = None,
    reference_example_id: Optional[ls_client.ID_TYPE] = None,
    exceptions_to_handle: Optional[tuple[type[BaseException], ...]] = None,
    attachments: Optional[schemas.Attachments] = None,
    **kwargs: Any = {},
)
```

## Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `name` | `str` | Yes | Name of the run. |
| `run_type` | `ls_client.RUN_TYPE_T` | No | Type of run (e.g., `'chain'`, `'llm'`, `'tool'`). (default: `'chain'`) |
| `inputs` | `Optional[dict]` | No | Initial input data for the run. (default: `None`) |
| `project_name` | `Optional[str]` | No | Project name to associate the run with. (default: `None`) |
| `parent` | `Optional[Union[run_trees.RunTree, str, Mapping, Literal['ignore']]]` | No | Parent run.  Can be a `RunTree`, dotted order string, or tracing headers. (default: `None`) |
| `tags` | `Optional[list[str]]` | No | List of tags for the run. (default: `None`) |
| `metadata` | `Optional[Mapping[str, Any]]` | No | Additional metadata for the run. (default: `None`) |
| `client` | `Optional[ls_client.Client]` | No | LangSmith client for custom settings. (default: `None`) |
| `run_id` | `Optional[ls_client.ID_TYPE]` | No | Preset identifier for the run. (default: `None`) |
| `reference_example_id` | `Optional[ls_client.ID_TYPE]` | No | Associates run with a dataset example.  Only for root runs in evaluation. (default: `None`) |
| `exceptions_to_handle` | `Optional[tuple[type[BaseException], ...]]` | No | Exception types to ignore. (default: `None`) |
| `extra` | `Optional[dict]` | No | Extra data to send to LangSmith.  Use 'metadata' instead. (default: `None`) |

## Constructors

```python
__init__(
    self,
    name: str,
    run_type: ls_client.RUN_TYPE_T = 'chain',
    *,
    inputs: Optional[dict] = None,
    extra: Optional[dict] = None,
    project_name: Optional[str] = None,
    parent: Optional[Union[run_trees.RunTree, str, Mapping, Literal['ignore']]] = None,
    tags: Optional[list[str]] = None,
    metadata: Optional[Mapping[str, Any]] = None,
    client: Optional[ls_client.Client] = None,
    run_id: Optional[ls_client.ID_TYPE] = None,
    reference_example_id: Optional[ls_client.ID_TYPE] = None,
    exceptions_to_handle: Optional[tuple[type[BaseException], ...]] = None,
    attachments: Optional[schemas.Attachments] = None,
    **kwargs: Any = {},
)
```

| Name | Type |
|------|------|
| `name` | `str` |
| `run_type` | `ls_client.RUN_TYPE_T` |
| `inputs` | `Optional[dict]` |
| `extra` | `Optional[dict]` |
| `project_name` | `Optional[str]` |
| `parent` | `Optional[Union[run_trees.RunTree, str, Mapping, Literal['ignore']]]` |
| `tags` | `Optional[list[str]]` |
| `metadata` | `Optional[Mapping[str, Any]]` |
| `client` | `Optional[ls_client.Client]` |
| `run_id` | `Optional[ls_client.ID_TYPE]` |
| `reference_example_id` | `Optional[ls_client.ID_TYPE]` |
| `exceptions_to_handle` | `Optional[tuple[type[BaseException], ...]]` |
| `attachments` | `Optional[schemas.Attachments]` |


## Properties

- `name`
- `run_type`
- `inputs`
- `attachments`
- `extra`
- `project_name`
- `parent`
- `run_tree`
- `tags`
- `metadata`
- `client`
- `run_id`
- `reference_example_id`
- `exceptions_to_handle`
- `new_run`
- `old_ctx`

---

[View source on GitHub](https://github.com/langchain-ai/langsmith-sdk/blob/6a74bf5af9e542d8065af8edca54b2448f430916/python/langsmith/run_helpers.py#L958)