L0
See every step your LLM app takes.
TraceLayer turns each request into a call tree — latency, token cost, and input/output for every prompt, retriever, model call, and tool. One line to install. Nothing to rewrite.
Free plan. No credit card. Key in your hands in a minute.
L1
A tree, not a log.
Nested calls, not flat events.
An example RAG-agent request, running in your browser — no signup. A flat log can't show you that the retriever made the whole call slow.
Click a node or press Enter to expand. Use Tab to move between nodes.
-
5.07 s2,860 tokens$0.0205
-
12 ms ·214 tokens . Press Enter to expand.
latency 12 mstokens 214cost $0.0015inputquestion: "Why did my last invoice go up?"user.email: redacted in the SDKHow redaction works →output Request payload assembled for the retriever. -
2.87 s ·0 tokens . The slowest step in this trace. Press Enter to expand.
latency 2.87 s — 56.6% of total. The slowest step in this trace.tokens 0cost $0.0000input Query embedding, top-k = 8.output 8 passages from the billing-docs index. -
2.06 s ·2,646 tokens . Press Enter to expand.
latency 2.06 s — 40.7% of total.tokens 2,646cost $0.0190input System prompt, the question, and 8 retrieved passages.output A call toget_invoice, then the drafted answer. -
96 ms ·0 tokens . Press Enter to expand.
latency 96 mstokens 0cost $0.0000inputget_invoice(period: "last")output Invoice line items, returned to the model. -
30 ms ·0 tokens . Press Enter to expand.
latency 30 mstokens 0cost $0.0000input Drafted answer from the model call.output "Your last invoice went up because two seats were added mid-cycle."
L2
One line to install.
Wrap your code. Traces flow.
One init line wraps your existing code. Traces go out automatically — nothing to restructure, nothing to rewrite.
Python
install
pip install tracelayer
initialize
import tracelayer
tracelayer.init(api_key="tl_live_...") # one line — your existing calls are now traced
import tracelayer
# one line — your existing
# calls are now traced
tracelayer.init(
api_key="tl_live_...")
TypeScript
install
npm install tracelayer
initialize
import { init } from "tracelayer";
init({ apiKey: "tl_live_..." }); // one line — your existing calls are now traced
import { init }
from "tracelayer";
// one line — your existing
// calls are now traced
init({
apiKey: "tl_live_...",
});
L3
From one line to a full call tree.
-
01
Install and initialize
Add the SDK and one init line.
-
02
Your calls get wrapped
TraceLayer wraps each call in place. It records timing, tokens, cost, and input/output as your code runs.
-
03
Traces are sent async
The SDK sends each trace to TraceLayer over the REST API.
-
04
Read the tree in your dashboard
Each request arrives as a call tree. Open any node to see where a request went slow, got expensive, or broke.
L4
Every plan gets every feature — Free included.
You pay for volume. Not for access.
- Free 100,000 traces / month $0 No credit card. No expiry.
- Growth 2,000,000 traces / month $49/mo
- Scale 20,000,000 traces / month $199/mo
L5
Privacy isn't an upgrade.
Built to stay out of your way.
< 5 ms
per trace · sent async
Trace delivery stays off your request path: your response doesn't wait on it.
Redact in the SDK
Strip sensitive fields before anything leaves your machine. Prompt contents don't have to go over the wire.
L7
Get your key. See your first trace today.
Free plan. No credit card. Key in your hands in a minute.