Simplified traces, detections & alerts
Traces you don’t
have to read
neatlogs cleans every run as it arrives and labels important events. You start with the handful of spans that explain the outcome instead of the hundreds that don’t. So does every agent, evaluator and teammate downstream.
Support ticket
Preset: refund_request
Customer: Maya Chen
Email: maya.chen@example.com
Order: NL-10482
Message
Hi Northline — I bought the Cascade Softshell Jacket two weeks ago and the zipper failed on my first overnight. I’d like a full refund to the original card. Thanks, Maya.
Customer attachment
- Policy mismatch
- Order loaded
- PII leaked · Email
- Repeated tool calls
- KB consulted
- Execution failed
- Gateway timeout
- checkout_agent.runWORKFLOW24.8s
- route_requestHTTP22.3s
- triage_agentAGENT3.0s
- lookup_customerTOOL84ms
- search_knowledge_base × 9TOOL4.4s
- gpt-4.1LLM 374 tok · $0.00493.4s
- retrieve_recovery_policyTOOL420ms
- decide_resolutionAGENT2.9s
Support ticket
Preset: refund_request
Customer: Maya Chen
Email: maya.chen@example.com
Order: NL-10482
- checkout_agent.runWORKFLOW24.8s
- route_requestHTTP22.3s
- triage_agentAGENT3.0s
- lookup_customerTOOL84ms
- search_knowledge_base × 9TOOL4.4s
- gpt-4.1LLM 374 tok · $0.00493.4s
- retrieve_recovery_policyTOOL420ms
- decide_resolutionAGENT2.9s
Support ticket
Preset: refund_request
Customer: Maya Chen
Email: maya.chen@example.com
Order: NL-10482
- checkout_agent.runWORKFLOW24.8s
- route_requestHTTP22.3s
- triage_agentAGENT3.0s
- lookup_customerTOOL84ms
- search_knowledge_base × 9TOOL4.4s
- gpt-4.1LLM 374 tok · $0.00493.4s
- retrieve_recovery_policyTOOL420ms
- decide_resolutionAGENT2.9s
Make traces useful to people and AI
Raw production traces are too noisy for people and too large for models. Sending the whole thing to a model burns tokens and weakens its reasoning.
neatlogs turns every trace into structured evidence before anyone touches it.
Deduplicate
A run is one complete agent execution, from the customer’s input to the final output. Group repeated and related runs before investigation.
Clean
A span is one operation inside a run—an LLM call, tool execution, or retrieval. Pull its useful inputs and outputs out of framework noise.
Label
Add human labels to runs and spans: correct or incorrect, quality ratings, what failed, and what a better outcome should be.
Simplify
neatlogs searches through labeled evidence to find the spans that affected an outcome. You get more reliable root cause analyses.
Search all of
production
like one trace
Find a customer, tool call, error, workflow, output, or behavior across every run.
Ask in plain English, and neatlogs returns the answer with the evidence attached.
@neatlogs which northline checkout failures need my attention?
12 Northline runs match. Four ended in payment errors after payments_api returned HTTP 503.
The affected runs share the same payment failure and retry path.
Find high-latency checkout traces
3 traces match. checkout_agent.run is the only run with significant latency.
Evidence
Traces tell you what happened.
Detections tell you
where to look.
Automatic, read-only labels attached to the exact span where a condition appeared. Jump directly to the evidence.
neatlogs detects automatically
When you bring in a trace, neatlogs suggests detections for the patterns it finds. Accept, edit or ignore.
Select a trace to see exactly where each signal appeared.
PaymentsAPI 503 — refund service unavailable
Add your own detections
Start with exact conditions and regex. Add classifiers when a failure depends on semantic meaning or business-specific judgment.
What do you want to detect?
Flag PII in agent outputs
Finds personal information in agent responses.
- Type
- PII classifier
- Scope
- All output spans
- Sentiment
- Negative
Send alerts in Slack or email
Notify the right people when a condition occurs. Set severity, aggregation, evaluation window and cooldown, with affected runs and evidence attached.
Neatlogs · #agent-alerts
Critical: PII detected in agent outputs
10 events · 5 min evaluation · 30 min cooldownNeatlogs alert: PII detected
Critical severity · 10 events across 7 runs
5 min evaluation window · 30 min cooldownMonitor detections
Track how often each signal appears, where it appears, whether it is rising, and how it overlaps with failed evals and known issues.
PII in Outputs
Personal information found in agent outputs.
- Status
- Active
- Type
- PII
- Scope
- All spans
ToolPII in Outputs
AgentPII in Outputs
ToolPII in Outputs
- Severity
- Critical
- Aggregation
- 10 matches
- Evaluation
- 5 minutes
- Cooldown
- 30 minutes
- Name
- PII in Outputs
- Sentiment
- Negative
- Type
- PII classifier
- Scope
- All output spans
- Entities
- Email, phone, credit card, IP, URL
Detections find. Evals judge.Investigations diagnose.
Each layer answers a different question about production behavior.
What happened during this run?
Where did a known condition or behavior appear?
Why did it happen, and what should change?
Did the behavior meet an explicit standard?
Product questions and answers
The practical details about traces, detections, alerts, and bringing neatlogs into your current stack.
What’s the difference between a trace and a span?
A trace is the complete record of one agent task. A span is one operation inside that trace, such as a model call, retrieval, tool invocation, agent handoff, or deterministic function.
A trace is the complete record of one agent task. A span is one operation inside that trace, such as a model call, retrieval, tool invocation, agent handoff, or deterministic function.