Performance: eventCounts property

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

The read-only performance.eventCounts property is an EventCounts map containing the number of events which have been dispatched per event type.

Not all event types are exposed. You can only get counts for event types supported by the PerformanceEventTiming interface.

Value

An EventCounts map. (A read-only Map without the clear(), delete(), and set() methods).

Examples

Reporting event types and their counts

If you like to send event counts to your analytics, you may want to implement a function like sendToEventAnalytics which takes the event counts from the performance.eventCounts map and then uses the Fetch API to post the data to your endpoint.

js
// Report all exposed events
for (entry of performance.eventCounts.entries()) {
  const type = entry[0];
  const count = entry[1];
  // sendToEventAnalytics(type, count);
}

// Report a specific event
const clickCount = performance.eventCounts.get("click");
// sendToEventAnalytics("click", clickCount);

// Check if an event count is exposed for a type
const isExposed = performance.eventCounts.has("mousemove"); // false

Specifications

Specification
Event Timing API
# dom-performance-eventcounts

Browser compatibility

BCD tables only load in the browser

See also