All updatesNovember 18, 2025

See exactly what your AI agent did

Traces are the core of neatlogs. Every agent run is captured as a full span tree, LLM calls, tool invocations, retrievals, with inputs, outputs, timing, and cost.

See exactly what your AI agent did

Understand every agent run from end to end

See the complete execution path behind every request.

Neatlogs captures each agent run as a trace, showing the full span hierarchy, execution order, and where time was spent. Inspect prompts, completions, token usage, costs, timing, and other metadata for every span.

Whether you're debugging failures or investigating performance, traces give you the context you need to understand what happened.

neatlogs.init(
    api_key=os.environ["NEATLOGS_API_KEY"],
    workflow_name="customer-support",
    instrumentations=["langchain", "chromadb"],
)

@neatlogs.span(kind="WORKFLOW")
def handle_request(user_input: str) -> str:
    ...
Read the Traces docs