Skip to main content
Before diving into this content, it might be helpful to read the following:
LangSmith stores and processes trace data in a simple format that is easy to export and import. Many of these fields are optional or not important to know about but are included for completeness. The bolded fields are the most important ones to know about. Here is an example of a JSON representation of a run in the above format:

What is dotted_order?

A run’s dotted order is a sortable key that fully specifies its location within the tracing hierarchy. Take the following example:
If you print out the IDs at each stage, you may get the following:
Note a few invariants:
  • The “id” is equal to the last 36 characters of the dotted order (the suffix after the final “Z”). See 0ec6b845-18b9-4aa1-8f1b-6ba3f9fdefd6 for example in the grandchild.
  • The “trace_id” is equal to the first UUID in the dotted order (i.e., dotted_order.split('.')[0].split('Z')[1])
  • If “parent_run_id” exists, it is the penultimate UUID in the dotted order. See a8024e23-5b82-47fd-970e-f6a5ba3f5097 in the grandchild, for an example.
  • If you split the dotted_order on the dots, each segment is formatted as (<run_start_time>Z<run_id>)

Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.