Documentation

Settings and license

Settings open from the cog at the end of the request runner's tab bar. There are four tabs.

General

Setting Default What it does
JSON font size 10 px Between 10 and 20. Applies to every JSON view: request bodies, responses and traces.
Open the trace when a request is sent On Off, the runner stays in view with its response, and the trace is opened from Request History when you want it.
Leave the service name off hops under the same service Off A call a service makes reads POST localhost:8083/reserve under Shop API · POST /v1/orders, instead of naming the service again.
Show a call and the handler that answered it as one hop On A call out of one service and the request arriving in the next share a line when they agree. A pair that does not — one that failed — stays as two.
Show the timeline bars in Hops On Each hop’s bar beside its name: where in the request it ran, and for how long.
Mark a running service whose code was edited On Watches the folder a running service was started from, and marks its node edited when a file there changes. Off, nothing is watched.

Recording

These decide how much of each request is recorded. They apply to services started after the change: stop and run a service again to use them.

Setting Default What it does
Record execution On On, a service records what its own code did inside each request. Off, only its hops are traced: a send is then around a third of the size, and the service runs without the recorder slowing it.
Record requests from outside Debugt Off On, a request that did not come from the runner — Postman, a browser, a phone — is recorded too, and kept in Request History marked outside.
Max steps 5,000 How many steps of one request a service records before it stops and marks the recording cut short. From 500 up to your plan’s limit: 5,000 on Free, 200,000 on Pro.
Max size 4 MB How large one request’s recording may grow, between 1 and 64 MB. A larger recording costs the service memory while the request runs.
Max repeats per line 0 0 records every run. Above 0, a line is recorded that many times within one call and further runs are folded into a count — so a hot loop no longer fills the step limit, but its middle runs cannot be stepped through one by one.
Value depth 6 levels How deep a recorded value is written out, between 2 and 20. Below it, an object or array shows only as [Object] or [Array], in the value and in what Copy copies. Deeper costs the service time on every line that changes a large value, and fills Max size sooner.
Value items 50 entries How many entries of an array, map or set a recorded value shows, between 10 and 1,000. The rest are counted. More costs the service time, and fills Max size sooner.

Value depth and Value items are read by the Node, Python, Go and Java recorders alike. A value’s own size limit grows with them, so a value written out deeper is not then cut short for its length.

A launch configuration can set its own step limit with DEBUGT_EXEC_MAX_STEPS in its env. It is still held to your plan’s limit.

Capture

What is left out of traces and recordings. These lists are per project — the one selected in the left pane — and are saved under ~/.debugt. They apply to services started after the change.

Don’t capture

Types that a recording shows as a one-line placeholder instead of in full, matched by class name. Framework objects such as the incoming request and the socket are there by default.

Add your own — a database connection, a large client object — by name, or by clicking Don’t capture beside a value in a recording.

Redact headers

Headers a trace records as redacted instead of their value. These are always redacted:

authorization, proxy-authorization, cookie, set-cookie, x-api-key, apikey, x-amz-security-token

Add your own, such as a tenant or session token.

Don’t capture hops

Calls left out of traces entirely: a health check, a metrics scrape, a telemetry exporter.

  • A path such as /health matches requests a service receives and calls it makes.
  • A URL such as https://api.segment.io matches calls it makes.
  • Matched as a prefix ending at /, ? or :, so /health is not /healthcheck. Use * for anything, as in /metrics*.
  • Choose a method, or ANY.

A skipped call carries no trace header either, so what it reaches is left out with it.

License

Shows the plan Debugt is on and what it allows: how many services run at once, how many steps of a request are recorded, and how many sends Request History keeps.

The Free plan

No license, and none needed. Debugt works with no account and no network: up to 5 services running at once, 5,000 recorded steps a request, the latest 50 sends kept in Request History, and 5 overrides in each project’s override library. Pro takes the limit off services, history and libraries, and records up to 200,000 steps. Get a license opens the pricing page.

Activating Pro

  1. Buy a license on the pricing page. The key arrives by email.
  2. Paste it into License key — it looks like DBGT-XXXXX-XXXXX-XXXXX-XXXXX — and choose Activate.

A license is good on three of your machines at once. Activating a fourth is refused until one is released.

Once it is active

  • The license is checked on your machine and renewed once a day while there is a connection. It is good for 14 days without one.
  • Check now renews it straight away — after renewing a subscription, for instance.
  • Remove from this machine takes the license off this machine and frees its place for another. The key still works.
  • Manage on the website opens your account: the machines the license is on, a new key, and your billing.

If a license stops counting

Debugt goes back to the Free plan and says why — the license ran out, could not be renewed, or was activated on another machine. It never stops a running service and never hides anything already on your machine. Renew it, or enter the key again, and Pro is back.

What a license check sends

The license key when you activate, a hash of your machine’s id, Debugt’s version, and the license token when it renews. Nothing about your services, requests or traces. The full list is on the privacy page.

VS Code settings

A few settings live in VS Code’s own settings, under Debugt:

Setting Default Meaning
debugt.port 4400 The port Debugt’s page is served on, on this machine only.
debugt.openIn app-window app-window opens Debugt in a window of its own; browser-tab uses your default browser.
debugt.openUiOnStartup false Open Debugt when VS Code starts.
debugt.licenseServer empty The license server’s address, for a network that reaches it another way. Empty uses Debugt’s own.

Where settings are kept

Setting Kept
The Capture lists, hosts, kinds, the broker, the override library Per project, under ~/.debugt
Mark edited services, Record requests from outside For this machine, in ~/.debugt/settings.json
Font size, trace display, recording limits In this browser
The license In VS Code’s secret storage — your system’s keychain