Web Performance.
Down to the line of code.

Palette collects end user interaction latency, page loads, and JavaScript code profiles, tying slow user experiences and regressions to lines of code. Monitor and fix performance issues in minutes, not months.

Profile end user sessions. Imagine the Chrome Devtools profiler, powered by end user sessions.

Mock of an end user profile

Learn More

Light as a feather

Network payloads are compressed asynchronously off the main thread and are only sent during idle periods.

Palette's overhead across all end user sessions is equal to the profiler overhead (10%) multiplied by the percentage of users profiled.

As an example, your p95 typing latency might be 100ms. When enabling profiling on 3% of sessions, the latency will increase by 10% for 3% of users, resulting in a p95 of 100.3ms.

Base Latency

100ms

Sessions

3%

Latency with Profiling

100.3ms

Ahead of the curve

Network payloads are compressed asynchronously off the main thread and are only sent during idle periods.

Build delightfully responsive Web Apps today

Book a Demo
1import { init, profiler, paint } from "@palette.dev/browser";
2
3init({ key: "YOUR_CLIENT_KEY", plugins: [profiler(), paint()] });
4
5profiler.on(
6 ["paint.click", "paint.keydown", "paint.scroll", "paint.mousemove"],
7 { sampleInterval: 1, maxBufferSize: 100_000 }
8);