November 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.
Updates
- Write detections in codeSeptember 7, 2026
- Review traces with AI evaluatorsJuly 27, 2026
- Replay an agent run step by stepJuly 1, 2026
- See cost, latency, and errors across every runJune 16, 2026
- Triage in Your EditorMay 29, 2026
- Import Your Traces from LangSmith and BraintrustMay 28, 2026
- Ask your trace data anythingMay 1, 2026
- Keep sensitive data out of your tracesApril 12, 2026
- Version your prompts like codeMarch 5, 2026
- Instrument multi-turn conversationsJanuary 20, 2026
- Collaborate on traces with your teamDecember 10, 2025
- See exactly what your AI agent didNovember 18, 2025
- Catch issues before your users doNovember 5, 2025
- Zero-config observability for every frameworkOctober 22, 2025

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