Firefox Tomorrow

web api overview

Performance APIs

View on MDN ↗

Available in workers

The Performance API is a group of standards used to measure the performance of web applications.

Concepts and usage

To ensure web applications are fast, it’s important to measure and analyze various performance metrics. The Performance API provides important built-in metrics and the ability to add your own measurements to the browser’s performance timeline. The performance timeline contains high precision timestamps and can be displayed in developer tools. You can also send its data to analytics end points to record performance metrics over time.

Each performance metric is represented by a single PerformanceEntry. A performance entry has a name, a duration, a startTime, and a type. All performance metrics extend the PerformanceEntry interface and qualify it further.

Most of the performance entries are recorded for you without you having to do anything, and are then accessible either through getEntries() or (preferably) through PerformanceObserver. For example, PerformanceEventTiming entries are recorded for events that take longer than a set threshold. But the Performance API also enables you to define and record your own custom events, using the PerformanceMark and PerformanceMeasure interfaces.

The main Performance interface is available in both Window and Worker global scopes, and enables you to add custom performance entries, to clear performance entries, and to retrieve performance entries.

The PerformanceObserver interface enables you to listen for various types of performance entry as they are recorded.

For more conceptual information, see the Performance API guides below.

UML diagram of Performance APIs

Reference

The following interfaces are present in the Performance API:

Guides

The following guides help you to understand key concepts of the Performance API and provide an overview about its abilities:

Specifications

SpecificationsStandards references are available on the canonical MDN page.

See also