Skip to content

docs: add the UI Capture and capture loss guides; state arm64's 6.4 kernel floor - #923

Merged
slayerjain merged 2 commits into
mainfrom
docs/ui-capture
Oct 7, 2026
Merged

slayerjain merged 2 commits into
mainfrom
docs/ui-capture

Conversation

@slayerjain

@slayerjain slayerjain commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

Two changes, one commit each.

1. UI Capture guide

A new page, UI Testing → UI Capture (versioned_docs/version-4.0.0/running-keploy/ui-capture.md), covering:

  • how to set up UI capture three ways: from the dashboard (with screenshots), over the REST API (curl), and from an AI agent through the Keploy MCP server;
  • installing the SDK, its options, and what it records and masks;
  • the capture states and what to do in each;
  • reading flows, and what an agent's view of a flow leaves out;
  • limitations and troubleshooting.

Why: a customer asked how to create the ui:ingest key the capture SDK needs. Nothing documented it, and until now nothing in the product let them do it.

Accuracy:

  • Every request, response, field, state, permission, SDK option and limit on the page comes from the shipped code or a run against it. The REST examples are real responses from a local deployment, with keys and IDs replaced.
  • The screenshots come from the real end-to-end test of this flow (enterprise-ui tests/projects/ui-testing/ui-capture-e2e.spec.ts, docs mode). They were taken on a local deployment, which the page says.

2. Capture loss warnings guide, and arm64's 6.4 kernel floor

A new page, Capture loss warnings (running-keploy/capture-loss.md), for the warning Keploy's eBPF capture logs when an app moves bytes without copying them through its own memory: --low-latency, a Sidecar with low_latency_mode, and the DaemonSet.

  • It quotes the warning, the periodic report and the two startup warnings after which some losses go unmarked, and explains every field.
  • A table maps the warning's words to a section per cause: sendfile, splice into and out of a socket, io_uring registered buffers, MSG_TRUNC, and a page the hook could not read. Each section gives the setting that avoids it (nginx, Apache, Tomcat, gunicorn, aiohttp, HAProxy, Java, Go).
  • Each section has an explicit heading ID ({#sendfile}, …). The agent's docs field links to them (keploy/enterprise#2636), so keep these IDs when the page is edited or the next docs version is cut.
  • The troubleshooting guide gets an entry pointing to it.

Every quoted line, field and level is checked against the agent's code, and every Go claim against the Go 1.27 standard library.

It also fixes a gap that affects users: that capture needs eBPF hooks arm64 kernels support only from 6.4 (x86-64 from 5.10). The platform requirements said 5.10 for everything, and the Kubernetes quickstart said nothing, so an arm64 node on Amazon Linux 2's 5.10 or AL2023's 6.1 looked supported. Both pages now say so, and what to use there instead; the quickstart's mode table gains a node kernel row.

Checks

  • npm run build: passes, onBrokenLinks: throw, no broken anchors. All seven anchors the agent links render.
  • npm run verify-schema: passes.
  • prettier@2.8.8 --check: clean on every changed file.
  • UI Capture images: WebP, all under 75 KB.

Merge order

  • The UI Capture page documents features that ship in keploy/api-server#2277 and keploy/enterprise-ui#1925. Merge this once both are released.
  • keploy/enterprise#2636 links the capture loss page, so this has to be live before that ships.

…hots

How to set up UI capture from the dashboard, the REST API or an AI agent
over MCP; the SDK's options and what it records and masks; capture states;
reading flows and what an agent's view leaves out; limitations and
troubleshooting. Screenshots come from the end-to-end test of the flow.

Signed-off-by: slayerjain <shubhamkjain@outlook.com>
Keploy's eBPF capture (keploy record --low-latency, a Kubernetes Sidecar
with low_latency_mode, and the DaemonSet agent) warns when an app moves
bytes it cannot record: sendfile, splice, io_uring registered buffers,
MSG_TRUNC. The new guide quotes the warning, the periodic report and the
startup warnings that some losses will go unmarked, explains every
field, and gives each cause a section with the setting that avoids it
(nginx, Apache, Tomcat, gunicorn, aiohttp, HAProxy, Java, Go). Each
section has an explicit heading ID, which the agent's docs field links
to (keploy/enterprise#2636), so keep the IDs when the page is edited or
a new docs version is cut. The troubleshooting guide points to it.

That capture needs fentry/fexit, which arm64 kernels attach only from
6.4 (x86-64 from 5.10). The platform requirements said 5.10 for
everything and the Kubernetes quickstart said nothing, so an arm64 node
on, for example, Amazon Linux 2's 5.10 or AL2023's 6.1 looked supported
for low-latency recording and the DaemonSet. Both now say so (the
quickstart's mode table gains a node kernel row), and what to use there
instead.

Signed-off-by: slayerjain <shubhamkjain@outlook.com>
@slayerjain slayerjain changed the title docs: add the UI Capture guide (dashboard, REST and MCP) with screenshots docs: add the UI Capture and capture loss guides; state arm64's 6.4 kernel floor Oct 7, 2026
@slayerjain
slayerjain merged commit 9a8e5f6 into main Oct 7, 2026
6 checks passed
@slayerjain
slayerjain deleted the docs/ui-capture branch October 7, 2026 07:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant