Your calls show up here.
Live demo · 1 online now
Did your release make it slower?
wshapnin times every endpoint, per version, and tells you what a release changed.
Shared and live: everyone online uses this same APIMost traffic is simulated customersChanges reset after 30 min
Ship a feature.
Pick an endpoint, say how much slower (or faster) your feature makes it, ship it. wshapnin compares the new version with the old one.
from wshapnin, last 2 h
Server, 95 % of calls under–
Browser, 95 % of calls under–
| Version | Calls | Median | p95 | Errors |
|---|
Waiting for wshapnin…
Find it in wshapnin.
These are the names and labels you will see. Every tag opens its chart.
http one call of an endpoint
db.query a block inside it
browser.roundtrip what the user waited
How it works.
Measure
Wrap a route or a block. About a microsecond per call, nothing to configure.
Release
A new version gets its own numbers. wshapnin marks the release on every chart.
Compare
Every minute it checks the last 15 minutes against the hours before and flags what got worse.
async with wshapnin.timer("http", labels={"endpoint": "GET /api/products"}, version="1.3"):
async with wshapnin.timer("db.query"):
rows = await load_products()
wshapnin.record("browser.roundtrip", 182.4, labels={"endpoint": "GET /api/products"})