For Ruby on Rails apps

Every method call, every argument, recorded end to end.

Wiretap records the full call graph of any request — every method, every argument, every return value — so you can replay exactly what your app did, instead of guessing from a stack trace.

gem install wiretap  ·  Wiretap.tap!  ·  no code changes required
POST /checkout · OrdersController#create recording
What gets captured

Not a sampled trace. The whole stack.

APM tools show you timing. Wiretap shows you state — the actual arguments and return values at every depth of the call, the way you'd want it explained to you by the engineer who wrote it.

depth 0

Full argument capture

Positional args, keyword args, and blocks — serialized at the moment of the call, not reconstructed afterward. See the exact price_cents: 4200 that triggered the bug, not just that calculate_total ran.

depth 1

End-to-end request graphs

From the controller action down through every service object, model callback, and gem internal it touches. One request, one tree, fully expandable.

depth 2

Return value diffing

Compare what a method returned this time against last week's deploy. Catch silent behavior changes before support tickets do.

depth 3

Selective, low-overhead instrumentation

Scope recording to a controller, a namespace, or a percentage of production traffic. Wiretap hooks TracePoint surgically, so it stays cheap enough to run always-on.

depth 4

Automatic secret redaction

Passwords, tokens, and anything flagged by your Rails filter_parameters list are stripped before a trace ever leaves the process.

Setup

Three lines, and you're recording.

Wiretap installs as a gem and hooks into your app at boot. No middleware to wire up, no agent to deploy separately.

01 / Gemfile

Add the gem

Works with Rails 6.1 and up, any Ruby supported by TracePoint.

gem "wiretap", group: :production
02 / initializer

Pick what to record

Scope by controller, namespace, or sample rate.

Wiretap.configure do |c|
  c.scope = "OrdersController"
  c.sample = 0.1
end # 10% of orders traffic
03 / dashboard

Replay any request

Search by request ID, user, or method name and step through the call tree.

# find the request that
# overcharged a customer
wiretap find req_8f2c1a
"We stopped adding puts statements to production code the week we installed this. The trace just has the answer already." — Staff engineer, fintech Rails monolith
<2ms
added per traced request
100%
of arguments captured
14 days
default trace retention
0
code changes to instrument
Pricing

Priced by traces recorded, not seats.

Every plan includes full-stack capture and argument-level detail. You're paying for retention and volume, not for which teammates get to look.

Solo

Side projects and small apps
$0 /mo
  • 10k traces / month
  • 24-hour retention
  • 1 environment
Start free

Scale

High-traffic or regulated apps
Custom
  • Unlimited traces
  • 90-day retention
  • SSO & audit log export
  • Dedicated capture cluster
Talk to us

Stop debugging from stack traces alone.

Install Wiretap and get the full call graph of your next request, arguments included.

Start tracing free →