MemoryLake
Engineering & Developermemory observability for production agents

Run Production Agents With Memory Observability You Don't Have to Build

You can see your model calls in Datadog. You can see your tool calls in OpenTelemetry. Memory has been a black box. MemoryLake provides production-grade memory observability — metrics, traces, and access logs — out of the box.

Day 1“You can see your model calls in Datadog.”✓ Got it, I will remember.Day 7 — new session“Same task again — can you keep the context?”× Sure — what was the context again?(forgot every detail you taught it)+ MEMORYLAKE LAYERMemory auto-loadedPer-retrieval metricsDistributed tracing integrationAccess logsSESSION OUTPUT✓ Same prompt, on-brand answerNo re-briefing required.

Run Production Agents With Memory Observability You Don't Have to Build

Get Started Free

Free forever · No credit card required

The problem: memory has been opaque in production agents

Your APM tool sees the model. It doesn't see the memory retrievals. When a memory bug surfaces, you have no telemetry on which entries returned, how they were ranked, or why. The memory layer is the last unobserved layer of production agent infrastructure.

How MemoryLake delivers memory observability

Per-retrieval metrics

Per-retrieval metrics

Latency, hit rate, token output, retrieval count.

MEMORYDistributed tracing integ…

Distributed tracing integration

OpenTelemetry-compatible traces.

MEMORYAccess logs

Access logs

Every read and write logged with provenance.

Memory health dashboards

Memory health dashboards

Built-in views for memory growth, eviction, and hit rates.

Get Started Free

Free forever · No credit card required

How it works for memory observability

  1. Connect — Authenticate your observability stack with MemoryLake.
  2. Structure — Metrics and traces flow automatically.
  3. Reuse — Dashboards and alerts on memory just like any other layer.

Before vs. after: production agent memory observability

DIY memoryMemoryLake
Memory latency telemetryNonePer-retrieval
Memory access tracesNoneOTel-compatible
Memory growth alertsNoneBuilt-in dashboards
Per-retrieval debuggingHardMemory provenance

Who this is for

Engineering and SRE teams running production agents who need memory layer telemetry to match what they have on every other layer of the stack.

Runnable demoabout 4 minutes

Try this use case on your own account

A payments platform team keeps six runbooks in shared memory, and its on-call assistant answers from them through MemoryRouter. Some calls come back with nothing attached, and the reply never says so: with a plain prompt, the model answers anyway ("We keep payment webhook logs for 90 days"). The usual fix, "If you do not know, reply 'No record.' Do not guess.", stops part of that, but it also turns retrieval misses into "No record", and that reply reads exactly like a question no runbook covers. The app can tell them apart: each call's prompt tokens minus the same call without a boundary is what MemoryRouter attached. On an empty retrieval the app searches the runbooks itself, asks again with that page, and labels where the answer came from.

What you will see

  • Six runbooks imported into MemoryLake; search --types document --top-k 1 finds the right runbook for all 8 questions a runbook answers, so the answers are in memory
  • A checker (router messages) shows what MemoryRouter attaches for each question: a runbook page, or nothing at all
  • Ten questions, 3 answers each through router chat --boundary (gpt-4o-mini), over 6 runs: plain prompt 82 of 180 right (98 invented, every one with nothing attached); "Do not guess" 100 of 180 (49 still invented; 49 "No record" replies, 31 of them for a question a runbook answers); with the app checking attached tokens and falling back to its own search 177 of 180, none invented
  • Plus an ask subcommand that shows one question's attached tokens and answer source, per-retrieval metrics, and a local web UI

You need: a MemoryLake API key · the memorylake CLI · Python 3.9+

Run it

git clone https://github.com/memorylake-ai/memorylake-usecases.git
cd memorylake-usecases/empty-retrieval-memory
export MEMORYLAKE_API_KEY=sk-…
python3 demo.py          # or: python3 web/server.py

Watch it run · real, unedited recordings

Related use cases

Frequently asked questions

OpenTelemetry support?

Yes — native OTel exporter.

Datadog integration?

Yes — Datadog and major APMs supported.

Self-host?

Yes — enterprise tier deploys in your VPC.