cloudflare / cloudflare/telescope
Get prescriptive about CPU and connection defaults
- Dominant language
- TypeScript
- Stars
- 305
- Forks
- 36
- PR merge metrics
- No merged PRs in 30d
Description
Obviously it's going to be challenging to get near reproducible results without an isolated test VM environment for CPU throttling and dummynet for network emulation, but it seems like Telescope should try to be a close to emulating a global baseline as possible out of the box.
It's talking my own book perhaps, but perhaps we can use a configuration [similar to the one I recommend](https://infrequently.org/2025/11/performance-inequality-gap-2026/) without much difficulty?
For device emulation, the Galaxy A24 I suggest has the same screen properties as the device listed in the Playwright database as "Galaxy A55":
https://www.gsmarena.com/compare.php3?idPhone1=12176&idPhone2=12824
https://github.com/microsoft/playwright/blob/main/packages/playwright-core/src/server/deviceDescriptorsSource.json#L200
For networking, the "4g" throttle is currently closest to my recommendation of 9mbps/3mbps/100ms at 9/9/85:
https://github.com/cloudflare/telescope/blob/2cb9b5750f8ad451cb70f44ea1278cf36724c9f5/packages/telescope/src/connectivity.ts#L34
Perhaps we can add another version, call it "4g-global" or "2026-baseline" to capture that? Happy to send a change for that.
For CPU, I'm guessing that'll be a bit more involved. Given that we have control via CDP, it looks like we could borrow the throttling logic from DevTools and set targets that way:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/devtools-frontend/src/front_end/panels/mobile_throttling/CalibrationController.ts;l=14?q=calibrat&sq=&ss=chromium%2Fchromium%2Fsrc:third_party%2Fdevtools-frontend%2F
Regardless, it might be worth setting a blanked 4x slowdown to start and get better over time.
Thoughts?
Contributor guide
Research direction
Start by reading packages/telescope/src/connectivity.ts and comparing its existing 4g throttle with the linked Playwright device descriptor and Chromium DevTools CalibrationController references. Done means the agreed global baseline is represented in Telescope, with the CPU-throttling scope and validation approach resolved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- playwright, typescript
- Domain
- performance, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100