# Uber's CAPRI tool captures and replays production traffic for testing

> Original title: From the outside, few people have understood the type of internal tooling Uber has.

- Source: Gergely Orosz
- Published: 2026-11-02T04:01:28.000Z
- Bad Influence: https://badinfluence.news/items/k9i79tcp00n6zpcsuh1tlgdea
- Original: https://x.com/GergelyOrosz/status/2117104781558980791

## Summary

Gergely Orosz says Uber has an internal tool called CAPRI that captures production traffic and replays it on demand. He says the system took years to build and evolved from two earlier internal systems, Deputy and Cerberus.

## Post

From the outside, few people have understood the type of internal tooling Uber has.

There's a tool called CAPRI that can capture production traffic, then replay it on-demand.

Building this system took years!! (evolved from other internal systems called Deputy + Cerberus)

## Quoted post @Pragmatic_Eng

> How Uber replays real production traffic with CAPRI. From @udaykiran, Distinguished Engineer at Uber:
> 
> "If I want to test a new thing, how do I know every combination of these has no regression?
> 
> We have different businesses, different product lines, different cities. If you were to create all permutations across this, you would have to maintain thousands and thousands of tests across the stack. That alone is a really hard problem.
> 
> For some of our most complex platforms, we use capture replay. You can capture real production traffic with just one middleware, because now we have standardized language frameworks across all the services. It will capture not just the inbound and outbound at that service layer, but also any of the downstream APIs that service calls.
> 
> Let’s say I’m working on a bug that’s only affecting San Francisco Uber Eats trips. I fix that bug and then I can create a Slate environment for that bug for my code changes. I can say: replay just this request on my Slate environment and show me the delta and I’m expecting the fix.
> 
> See more of Uber’s latest AI Infra on the podcast: https://x.com/GergelyOrosz/status/2110419306051670295?s=20

https://x.com/Pragmatic_Eng/status/2116885470802239557
