# RunTree

> **Class** in `langsmith`

📖 [View in docs](https://reference.langchain.com/javascript/langsmith/index/RunTree)

A run can represent either a trace (root run)
or a child run (~span).

## Signature

```javascript
class RunTree
```

## Implements

- `BaseRun`

## Constructors

- [`constructor()`](https://reference.langchain.com/javascript/langsmith/index/RunTree/constructor)

## Properties

- `attachments`
- `child_execution_order`
- `child_runs`
- `client`
- `distributedParentId`
- `dotted_order`
- `end_time`
- `error`
- `events`
- `execution_order`
- `extra`
- `id`
- `inputs`
- `name`
- `outputs`
- `parent_run`
- `parent_run_id`
- `project_name`
- `reference_example_id`
- `replicas`
- `run_type`
- `serialized`
- `start_time`
- `tags`
- `trace_id`
- `tracingEnabled`
- `metadata`

## Methods

- [`addEvent()`](https://reference.langchain.com/javascript/langsmith/index/RunTree/addEvent)
- [`createChild()`](https://reference.langchain.com/javascript/langsmith/index/RunTree/createChild)
- [`end()`](https://reference.langchain.com/javascript/langsmith/index/RunTree/end)
- [`patchRun()`](https://reference.langchain.com/javascript/langsmith/index/RunTree/patchRun)
- [`postRun()`](https://reference.langchain.com/javascript/langsmith/index/RunTree/postRun)
- [`toHeaders()`](https://reference.langchain.com/javascript/langsmith/index/RunTree/toHeaders)
- [`toJSON()`](https://reference.langchain.com/javascript/langsmith/index/RunTree/toJSON)
- [`fromDottedOrder()`](https://reference.langchain.com/javascript/langsmith/index/RunTree/fromDottedOrder)
- [`fromHeaders()`](https://reference.langchain.com/javascript/langsmith/index/RunTree/fromHeaders)
- [`fromRunnableConfig()`](https://reference.langchain.com/javascript/langsmith/index/RunTree/fromRunnableConfig)
- [`getSharedClient()`](https://reference.langchain.com/javascript/langsmith/index/RunTree/getSharedClient)

---

[View source on GitHub](https://github.com/langchain-ai/langsmith-sdk/blob/3661dbdace8294e443b6512d185bb9400e503213/js/src/run_trees.ts#L256)