Skip to content
Ivy

Product

Features

Ivy is open-source observability for AWS Lambda, built around one idea: a trace should show exactly what an invocation did, with its payloads, in a form that both you and your coding agent can read. These are the parts.

Lambda tracing Trace every AWS Lambda invocation with its event, response, logs, errors and cold start, plus every DynamoDB, S3, SQS, SNS, EventBridge and HTTP call with request and response bodies. Auto-instrumentation Ivy's Lambda layer traces Node.js functions without code changes. Connect your AWS account once and pick functions by CloudFormation stack, name or tag; new matches are traced automatically. Lambda errors Ivy catches AWS Lambda failures outside the handler (init errors, out-of-memory kills, crashes and timeouts) with their last log lines, counts throttles, and groups everything into error groups. Alerts Ivy sends a Slack message when a Lambda error group is first seen, then at most every 60 minutes or 100 occurrences, and a weekly email digest per workspace. Covers init errors, OOM, crashes, timeouts and throttles. For AI agents Ivy gives coding agents production context for AWS Lambda: a remote MCP server across all your workspaces, interactive trace views (MCP Apps), an HTTP API with OpenAPI, llms.txt onboarding and an agent skill. LLM observability Trace Vercel AI SDK and OpenTelemetry GenAI calls in AWS Lambda with Ivy. See prompts, responses, tool calls, token counts and time to first token in the same trace as your DynamoDB and HTTP calls. OpenTelemetry Ivy ingests standard OpenTelemetry (OTLP over HTTP) and uses OpenTelemetry semantic conventions, so any OTel SDK can send traces, and the Ivy layer is an optional, lighter producer for Node.js Lambda. Self-hosting Run Ivy yourself with docker compose up. The OpenTelemetry Collector, ClickHouse, the API, dashboard and MCP server, MIT licensed, with OIDC sign-in and no limits.

What Ivy covers today

Area Supported
Runtimes Node.js on AWS Lambda (nodejs22.x tested, nodejs20.x should work), ESM and CommonJS, bundled or not
Instrumented calls AWS SDK v3 (including bundled copies), fetch, node:http and node:https, console.* logs
Triggers recognized API Gateway (REST and HTTP), ALB, function URLs, SQS, SNS, S3, DynamoDB Streams, EventBridge, schedules, Kinesis, direct invokes
Failures Handler errors, init errors, out of memory, crashes, timeouts, throttles
Alerts Slack per error group, weekly email digest
Agents Remote MCP server with OAuth, HTTP API with OpenAPI 3.1, llms.txt, agent skill
LLM spans Vercel AI SDK 3–7, OpenTelemetry GenAI semantic conventions
Ingest OTLP over HTTP (protobuf or JSON)
Sign-in OIDC (hosted: email sign-in; self-hosted: your own provider)

Not yet

Ivy is young, and these are not part of it yet:

  • Runtimes other than Node.js. A Python layer is next. Until then, other runtimes can send traces through any OpenTelemetry SDK.
  • Advanced alerting. Alerts cover error groups (Slack and a weekly digest). There are no metric or latency alerts, custom alert rules beyond the thresholds, or paging integrations such as PagerDuty.
  • Response streaming handlers (awslambda.streamifyResponse) and Lambda multi-concurrency are not traced.
  • Trace context propagation across functions (incoming and outgoing traceparent or X-Ray headers).
  • Logs and metrics as products. Ivy keeps the console.* lines of each invocation and the last log lines of a failure, but it does not ship or index all of your CloudWatch logs.

Trace your first function today

Paste this into your coding agent. It signs you up and adds tracing; you approve twice. Free for 100,000 traces a month.

Set up Ivy for my AWS Lambda functions using https://ivytrace.dev/llms.txt

Prefer to do it by hand? Manual setup · Self-host